共用方式為


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 裝置類型。 可以設定為 StiDeviceTypeDefaultStiDeviceTypeScannerStiDeviceTypeDigitalCamera

[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