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 未采取任何作来处理错误或向用户报告状态。

言论

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

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

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

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

要求

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

另请参阅

IWiaErrorHandler

IWiaErrorHandler::GetStatusDescription