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 设备类型。 可以设置为 StiDeviceTypeDefaultStiDeviceTypeScannerStiDeviceTypeDigitalCamera

[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 不显示 “选择设备 ”对话框。 而是将设备的标识符字符串传递给应用程序,而不显示对话框。 可以通过将 WIA_SELECT_DEVICE_NODEFAULT 作为 lFlags 参数的值来替代此行为并强制 IWiaDevMgr::SelectDeviceDlgID 显示“选择设备”对话框。

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

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

要求

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