IBackgroundCopyJob::GetError 方法 (bits.h)

在發生錯誤之後擷取錯誤介面。

BITS 會在作業的狀態 BG_JOB_STATE_ERROR 或BG_JOB_STATE_TRANSIENT_ERROR時產生錯誤物件。 當 呼叫 IBackgroundCopyXXXX 介面方法失敗時,服務不會建立錯誤物件。 錯誤物件可供使用,直到 BITS 開始傳輸資料 (作業的狀態變更為作業BG_JOB_STATE_TRANSFERRING) ,或直到您的應用程式結束為止。

語法

HRESULT GetError(
  [out] IBackgroundCopyError **ppError
);

參數

[out] ppError

錯誤介面,提供錯誤碼、錯誤的描述,以及發生錯誤的內容。 此參數也會識別在發生錯誤時傳輸的檔案。 完成時釋放 ppError

傳回值

這個方法會傳回下列 HRESULT 值,以及其他值。

傳回碼 Description
S_OK
已成功產生錯誤物件。
BG_E_ERROR_INFORMATION_UNAVAILABLE
只有在發生錯誤 (BG_JOB_STATE_ERROR 或BG_JOB_STATE_TRANSIENT_ERROR) ,且BITS開始傳輸資料 (BG_JOB_STATE_TRANSFERRING) 之前,才能使用錯誤介面。

備註

作業會在嚴重錯誤或暫時性錯誤的無進度逾時期間到期之後, (從 GetNoProgressTimeout 方法擷取此期間) 。 使用下列其中一個選項來判斷作業是否發生錯誤:

IBackgroundCopyError 介面包含您用來判斷錯誤原因的資訊,以及傳輸程式是否可以繼續。 判斷錯誤的原因之後,請執行下列其中一個選項: 如果作業在預設 JobInactivityTimeout (群組原則) 90 天內維持錯誤狀態,服務會從佇列中移除作業,並刪除用戶端上的臨時檔;作業刪除不會影響已成功上傳的檔案。

若要判斷上傳-回復作業的上傳、回復或伺服器應用程式部分失敗,請呼叫 IBackgroundCopyError::GetError 方法來擷取發生錯誤 的內容 。 如果內容BG_ERROR_CONTEXT_REMOTE_APPLICATION,伺服器應用程式會失敗。 如果錯誤與上傳或回復一起,內容會BG_ERROR_CONTEXT_REMOTE_FILE。 如果BG_JOB_REPLY_PROGRESS結構的 BytesTotal 成員BG_SIZE_UNKNOWN,則上傳失敗。 否則,回復失敗。

範例

請參閱 處理錯誤 主題中的範例程式代碼。

規格需求

需求
最低支援的用戶端 Windows XP
最低支援的伺服器 Windows Server 2003
目標平台 Windows
標頭 bits.h
程式庫 Bits.lib
Dll QmgrPrxy.dll

另請參閱

IBackgroundCopyCallback::JobError

IBackgroundCopyError

IBackgroundCopyJob::GetState