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 接口的指针。 可以通过将 WIA_SELECT_DEVICE_NODEFAULT 作为 lFlags 参数的值来替代此行为并强制 IWiaDevMgr::SelectDeviceDlg 显示“选择设备”对话框。

如果多个 WIA 设备与规范匹配,所有匹配设备将显示在 “选择设备 ”对话框中,以便用户可以选择一个设备。

应用程序必须对通过 ppItemRoot 参数接收的接口指针调用 IUnknown::Release 方法。

建议应用程序通过“文件”菜单上名为“从扫描仪或相机”的菜单项提供设备和图像选择。

要求

   
最低受支持的客户端 Windows 2000 专业版、Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 wia_xp.h (包括 Wia.h)
Library Wiaguid.lib
DLL Wiaservc.dll