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 接口的指针。 可以通过将 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 |