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

[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