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 的值,FAILED(hrStatus)的计算结果为 TRUE。 如果 FAILED(hrStatus)的计算结果为 FALSE,则 hrStatus 中的值表示非严重延迟,并且显示的对话框应为无模式。 传输状态发生更改时,应删除该对话框。 错误处理程序应为 hrStatus未知值返回S_FALSE。
hrStatus 参数设置为WIA_STATUS_TRANSFER_BEGIN,以通知处理程序已启动传输。 传输完成后,它设置为WIA_STATUS_TRANSFER_END。
如果S_OK hrStatus,则数据传输已恢复,当前没有延迟或错误。
要求
要求 | 价值 |
---|---|
目标平台 | 桌面 |
标头 | wia_lh.h (包括 Wia_lh.h) |