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