IWiaDevMgr::GetImageDlg 方法 (wia_xp.h)
IWiaDevMgr::GetImageDlg 方法显示一个或多个对话框,使用户能够从 Windows 映像采集 (WIA) 设备获取图像,并将图像写入指定的文件。 此方法结合了 IWiaDevMgr::SelectDeviceDlg 的功能,以在单个 API 调用中完全封装图像获取。
语法
HRESULT GetImageDlg(
[in] HWND hwndParent,
[in] LONG lDeviceType,
[in] LONG lFlags,
[in] LONG lIntent,
[in] IWiaItem *pItemRoot,
[in] BSTR bstrFilename,
[in, out] GUID *pguidFormat
);
参数
[in] hwndParent
类型:HWND
拥有“ 获取图像 ”对话框的窗口的句柄。
[in] lDeviceType
类型: LONG
指定要使用的 WIA 设备类型。 设置为 StiDeviceTypeDefault、 StiDeviceTypeScanner 或 StiDeviceTypeDigitalCamera。
[in] lFlags
类型: LONG
指定对话框行为。 可以设置为以下值:
标志 | 含义 |
---|---|
0 | 默认行为。 |
WIA_SELECT_DEVICE_NODEFAULT | 强制此方法显示“ 选择设备 ”对话框。 有关详细信息,请参阅此参考页的 “备注 ”部分。 |
WIA_DEVICE_DIALOG_SINGLE_IMAGE | 将图像选择限制为设备映像获取对话框中的单个图像。 |
WIA_DEVICE_DIALOG_USE_COMMON_UI | 使用系统 UI(如果可用),而不是供应商提供的 UI。 如果系统 UI 不可用,则使用供应商 UI。 如果两个 UI 都不可用,函数将返回E_NOTIMPL。 |
[in] lIntent
类型: LONG
指定图像要表示的数据类型。 有关图像意向值的列表,请参阅 图像意向常量。
[in] pItemRoot
类型: IWiaItem*
指向 IWiaDevMgr::CreateDevice 返回的 IWiaItem 对象的分层树接口的指针。
[in] bstrFilename
类型: BSTR
指定将图像数据写入到的文件的名称。
[in, out] pguidFormat
类型: GUID*
输入时,包含指向 GUID 的指针,该 GUID 指定要使用的格式。 在输出中,保留使用的格式。 传递IID_NULL以使用默认格式。
返回值
类型: HRESULT
如果用户取消设备选择或图像获取对话框,则 IWiaDevMgr::GetImageDlg 将返回S_FALSE;如果当前没有 WIA 设备可用,WIA_S_NO_DEVICE_AVAILABLE;如果没有可用的 UI,则E_NOTIMPL;如果成功传输数据,则S_OK。
IWiaDevMgr::GetImageDlg 返回 错误代码中指定的值;如果由于指定原因以外的任何原因而失败,则返回标准 COM 错误。
注解
调用此方法会显示一个对话框,使用户能够获取图像。 它还可以显示由 IWiaDevMgr::SelectDeviceDlg 方法创建的“选择设备”对话框。
如果应用程序为 pItemRoot 参数的值传递 NULL,则 IWiaDevMgr::GetImageDlg 将显示允许用户选择 WIA 输入设备的“选择设备”对话框。 如果应用程序通过 pItemRoot 参数传递指向设备的项树的指针来指定 WIA 输入设备, 则 IWiaDevMgr::GetImageDlg 不显示 “选择设备 ”对话框。 相反,它将使用指定的输入设备来获取映像。
使用“ 选择设备 ”对话框时,应用程序可以指定 WIA 输入设备的类型。 为此,必须将 pItemRoot 参数设置为 NULL ,并通过 lDeviceType 参数传递相应的常量。 如果存在多个指定类型的设备, 则 IWiaDevMgr::GetImageDlg 将显示 “选择设备 ”对话框,让用户选择要使用的设备。
如果 IWiaDevMgr::GetImageDlg 只找到一个匹配的设备,则它不会显示 “选择设备 ”对话框。 而是选择匹配的设备。 可以通过将 WIA_SELECT_DEVICE_NODEFAULT 作为 lFlags 参数的值来替代此行为并强制 IWiaDevMgr::GetImageDlg 显示“选择设备”对话框。
建议应用程序通过“文件”菜单上的“从扫描仪或相机”菜单项提供设备和图像选择。
对话框必须对 bstrFilename 的文件夹具有足够的权限,才能使用唯一文件名保存文件。 该文件夹还应使用访问控制列表 (ACL) 进行保护,因为它包含用户数据。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 专业版、Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | wia_xp.h (包括 Wia.h) |
Library | Wiaguid.lib |
DLL | Wiaservc.dll |