IWiaPreview::D etectRegions 方法

调用驱动程序分段筛选器,并将 IWiaPreview::GetNewPreview 方法缓存的未筛选图像传递到筛选器。

语法

HRESULT DetectRegions(
  [in] LONG lFlags
);

参数

lFlags [in]

类型: LONG

未使用。 将 设置为零 (0) 。

返回值

类型: HRESULT

此方法可以返回其中一个值。

返回代码 说明
S_OK
操作成功。
E_NOTIMPL
驱动程序不支持分段。
否则
标准 COM 错误代码。

 

备注

应用程序在调用此函数之前必须调用 IWiaPreview::GetNewPreview

当 Windows 映像获取 (WIA) 2.0 预览组件调用 IWiaPreview::D etectRegions 时,它会调用驱动程序分段筛选器,并将以前传递给 IWiaPreview::GetNewPreviewIWiaItem2 接口传递。 它还会将内部缓存的图像传递到筛选器。 分段筛选器使用缓存的图像来创建子盘区。

如果应用程序在调用 IWiaPreview::GetNewPreview 后更改 IWiaItem2 接口的任何属性,则必须在应用程序调用 IWiaPreview::D etectRegions 之前还原原始属性。 使用 GetPropertyStreamSetPropertyStream 还原原始属性。

IWiaPreview::D etectRegions 用于确定缓存映像的“子区域”。 对于检测到的每个子区域,在 IWiaItem2 接口下创建新的子 WIA 2.0 项。 对于每个子项,分段筛选器必须设置以下 WIA 2.0 属性的值:WIA_IPS_XPOS、WIA_IPS_YPOS、WIA_IPS_XEXTENT和WIA_IPS_YEXTENT。 如果驱动程序支持倾斜,则更高级的筛选器会设置其他 WIA 2.0 属性,例如WIA_IPS_DESKEW_X和WIA_IPS_DESKEW_Y。 WIA_IPS_XPOS、WIA_IPS_YPOS、WIA_IPS_XEXTENT和WIA_IPS_YEXTENT属性表示要扫描的区域的边框。

驱动程序可能不支持分段。 在调用 IWiaPreview::D etectRegions 之前,应用程序通常会检查驱动程序是否支持 WIA_IPS_SEGMENTATION 属性。 如果未实现 属性,则不支持分段, 并且 IWiaPreview::D etectRegions 将失败并返回E_NOTIMPL。

应用程序必须清理通过调用 IWiaPreview::D etectRegions 创建的子项。 例如,如果应用程序对同一项上的 IWiaPreview::D etectRegions 进行额外调用,则必须清理以前的子项。

要求

要求
最低受支持的客户端
Windows Vista [仅限桌面应用]
最低受支持的服务器
Windows Server 2008 [仅限桌面应用]
标头
Wia.h
IDL
Wia.idl