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) 计算结果为 TRUE 的 hrStatus 值。 如果 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) |