IWiaErrorHandler::ReportStatus 方法 (wia_lh.h)

ReportStatus 方法显示有关传输过程中的错误或状态的信息。 在某些情况下,此方法允许用户从错误中恢复。

语法

HRESULT ReportStatus(
  [in] LONG      lFlags,
  [in] HWND      hwndParent,
  [in] IWiaItem2 *pWiaItem2,
  [in] HRESULT   hrStatus,
  [in] LONG      lPercentComplete
);

参数

[in] lFlags

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

[in] hwndParent

调用方提供了应用作任何对话框的父窗口的窗口句柄。 如果此值设置为 NULL,则不应显示任何对话框。

[in] pWiaItem2

指向正在传输的IWiaItem2 项的指针。

[in] hrStatus

包含 WIA 传输方法接收的状态代码的 HRESULT 变量,例如 IWiaDataCallback::BandedDataCallback 方法。

[in] lPercentComplete

pbData 指针引用的数据大小(以字节为单位)。

返回值

如果无法从中恢复错误,或者用户选择中止传输以响应显示的对话框,则返回标准 COM 错误代码。 备注部分提供了有关返回值的其他信息。 否则,此方法返回以下值之一:

返回代码 说明
S_OK 已采取适当措施更正错误,传输可以继续。
S_FALSE 未采取任何操作来处理错误或向用户报告状态。

注解

当驱动程序将IT_MSG_DEVICE_STATUS消息发送到 IWiaDataCallback::BandedDataCallback 方法时,COM 代理回调对象调用 WiaErrorHandler::ReportStatus 方法。 此方法显示的对话框为用户提供错误或状态信息,并可能提供从错误中恢复并继续传输的机会。 UI 应仅提供一个信息对话框,并在SEVERITY_SUCCESS HRESULT 时提供取消传输的机会。

实现此方法的驱动程序应显示 hwndParent 拥有的模式对话框,以响应其 FAILED (hrStatus) 计算结果为 TRUEhrStatus 值。 如果 FAILED (hrStatus) 的计算结果为 FALSE则 hrStatus 中的值表示非严重延迟,显示的对话框应为无模式。 当传输状态更改时,应删除该对话框。 对于 hrStatus 的未知值,错误处理程序应返回S_FALSE。

hrStatus 参数设置为 WIA_STATUS_TRANSFER_BEGIN,以通知处理程序传输已开始。 传输完成后,它设置为WIA_STATUS_TRANSFER_END。

如果 hrStatus S_OK,则数据传输已恢复,并且当前没有延迟或错误。

要求

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

另请参阅

IWiaErrorHandler

IWiaErrorHandler::GetStatusDescription