IWiaTransferCallback::TransferCallback 方法 (wia_lh.h)

IWiaTransferCallback::TransferCallback 方法由图像处理筛选器实现。 它由 WIA 服务作为调用 IWiaTransfer::D ownload 或预览组件的 IWiaPreview::GetNewPreview 的应用程序调用。

语法

HRESULT TransferCallback(
  [in] LONG              lFlags,
  [in] WiaTransferParams *pWiaTransferParams
);

参数

[in] lFlags

当前未使用。 应设置为零。

[in] pWiaTransferParams

指定指向 WiaTransferParams 结构的指针。

返回值

如果成功,则返回S_OK,否则返回标准 COM 错误值。

注解

图像处理筛选器实现 IWiaTransferCallback::TransferCallback 方法是在图像获取期间调用的,当 WIA 微型驱动程序从客户端请求目标流以及微型驱动程序将进度消息发送回应用程序时。

图像处理筛选器的 IWiaTransferCallback::TransferCallback 方法必须委托给应用程序回调的 IWiaTransferCallback::TransferCallback 方法。 在许多情况下,图像处理筛选器的 IWiaTransferCallback::TransferCallback 实现还必须修改 ulBytesWrittenToCurrentStream ,还可能需要修改 WiaTransferParams 结构中的 lPercentComplete 值。 如果图像处理筛选器在将数据写入应用程序提供的流之前,必须在调用其 Write 方法之间缓冲图像数据,则必须修改 ulBytesWrittenToCurrentStream。 例如,如果正在执行偏转和/或旋转,则需要这样做。 如果不需要旋转或偏转,筛选器最好在数据带上工作。 但是,lPercentComplete 不一定需要修改,因为此参数指示总传输时间的百分比。 例如,此成员可由应用程序中的进度栏使用。 请注意,图像处理筛选器不应修改结构的 lMessage 成员。 IWiaTransferCallback::TransferCallback 也不应“吞咽”它接收的任何消息,即使它执行缓冲,而是应该修改 ulBytesWrittenToCurrentStream 成员。

IWiaPreview::UpdatePreview 期间,预览组件不会调用此方法。

要求

要求
目标平台 桌面
标头 wia_lh.h (包括 Wia_lh.h)