IWiaDevMgr::SelectDeviceDlg 方法 (wia_xp.h)
IWiaDevMgr::SelectDeviceDlg會顯示對話方塊,讓使用者選取硬體裝置以取得影像。
語法
HRESULT SelectDeviceDlg(
[in] HWND hwndParent,
[in] LONG lDeviceType,
[in] LONG lFlags,
[in, out] BSTR *pbstrDeviceID,
[out, retval] IWiaItem **ppItemRoot
);
參數
[in] hwndParent
類型: HWND
擁有 [ 選取裝置 ] 對話方塊之視窗的控制碼。
[in] lDeviceType
類型: LONG
指定要使用的 WIA 裝置類型。 可以設定為 StiDeviceTypeDefault、 StiDeviceTypeScanner或 StiDeviceTypeDigitalCamera。
[in] lFlags
類型: LONG
指定對話方塊行為。 可以設為下列任何值:
常數 | 意義 |
---|---|
0 | 使用預設行為。 |
WIA_SELECT_DEVICE_NODEFAULT | 即使只有一個相符的裝置,仍會顯示對話方塊。 如需詳細資訊,請參閱此參考頁面的一節。 |
[in, out] pbstrDeviceID
類型: BSTR*
在輸出中,接收包含裝置識別碼字串的字串。 在輸入時,如果需要此資訊,請傳遞指標的位址,如果不需要則為 Null 。
[out, retval] ppItemRoot
類型: IWiaItem**
接收代表所選取 WIA 裝置之樹狀結構根專案的 IWiaItem 介面指標位址。 如果找不到任何裝置,則會包含 Null值。
傳回值
類型: HRESULT
這個方法會傳回下列值:
傳回值 | 意義 |
---|---|
S_OK | 已成功選取裝置。 |
S_FALSE | 使用者已取消對話方塊。 |
WIA_S_NO_DEVICE_AVAILABLE | 沒有 WIA 硬體裝置符合 lDeviceType 參數中指定的規格。 |
備註
此方法會建立並顯示 [ 選取裝置 ] 對話方塊,讓使用者可以選取 WIA 裝置進行影像擷取。 如果已成功選取裝置, IWiaDevMgr::SelectDeviceDlg 方法會為裝置建立 IWiaItem 物件的階層式樹狀結構。 它會將根專案的 IWiaItem 介面指標儲存在 ppItemRoot參數中。
透過 lDeviceType 參數指定裝置類型,即可向使用者顯示特定類型的裝置。 如果只有一個裝置符合規格, IWiaDevMgr::SelectDeviceDlg 不會顯示 [ 選取裝置 ] 對話方塊。 相反地,它會為裝置建立IWiaItem樹狀結構,並在參數 ppItemRoot中儲存根專案的IWiaItem介面指標。 您可以覆寫此行為並強制 IWiaDevMgr::SelectDeviceDlg 顯示 [ 選取裝置 ] 對話方塊,方法是傳遞 WIA_SELECT_DEVICE_NODEFAULT 作為 lFlags 參數的值。
如果多個 WIA 裝置符合規格,所有相符的裝置都會顯示在 [ 選取裝置 ] 對話方塊中,讓使用者可以選擇一個。
應用程式必須在透過ppItemRoot參數收到的介面指標上呼叫IUnknown::Release方法。
建議應用程式透過 [檔案] 功能表上名為[從掃描器或相機] 的功能表項目,提供裝置和影像選取。
規格需求
最低支援的用戶端 | Windows 2000 Professional、Windows XP [僅限桌面應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | wia_xp.h (包含 Wia.h) |
程式庫 | Wiaguid.lib |
Dll | Wiaservc.dll |