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
HRESULT 變數,其中包含 WIA 傳輸方法所接收的狀態代碼,例如 IWiaDataCallback::BandedDataCallback 方法。
[in] lPercentComplete
數據的大小,以位元組為單位, pbData 指標會參考。
傳回值
如果無法從中復原錯誤,或用戶選擇中止傳輸以響應顯示的對話框,則傳回標準 COM 錯誤碼。 備註區段中的傳回值有其他資訊。 否則,此方法會傳回下列其中一個值:
傳回碼 | 描述 |
---|---|
S_OK | 已採取適當的動作來更正錯誤,而且傳輸可以繼續。 |
S_FALSE | 未採取任何動作來處理錯誤或向使用者報告狀態。 |
備註
當驅動程式將IT_MSG_DEVICE_STATUS訊息傳送至 IWiaDataCallback::BandedDataCallback 方法時,COM Proxy 回呼物件會呼叫 WiaErrorHandler::ReportStatus 方法。 這個方法顯示的對話方塊會提供使用者錯誤或狀態資訊,而且可能有機會從錯誤復原並繼續傳輸。 UI 應該只提供參考對話方塊,而且如果 HRESULT 已SEVERITY_SUCCESS,就有機會取消傳輸。
實作此方法的驅動程式應該會顯示 hwndParent 所擁有的強制回應對話方塊,以回應 FAILED (hrStatus 的值,) 評估為 TRUE。 如果 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) |