共用方式為


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)

另請參閱

IWiaErrorHandler

IWiaErrorHandler::GetStatusDescription