在發生錯誤之後擷取錯誤介面。
當作業的狀態BG_JOB_STATE_ERROR或BG_JOB_STATE_TRANSIENT_ERROR時,傳遞優化會產生錯誤物件。 當 呼叫 IBackgroundCopyXXXX 介面方法失敗時,服務不會建立錯誤物件。 錯誤物件可在傳遞優化開始傳輸資料之前, (作業的狀態變更為作業BG_JOB_STATE_TRANSFERRING) ,或直到您的應用程式結束為止。
語法
HRESULT GetError(
[out] IBackgroundCopyError **ppError
);
參數
-
ppError [out]
-
錯誤介面,提供錯誤碼、錯誤的描述,以及發生錯誤的內容。 此參數也會識別在發生錯誤時傳輸的檔案。 完成時釋放 ppError 。
傳回值
這個方法會傳回下列 HRESULT 值,以及其他值。
| 傳回碼 | Description |
|---|---|
|
已成功產生錯誤物件。 |
|
只有在發生錯誤 (BG_JOB_STATE_ERROR或BG_JOB_STATE_TRANSIENT_ERROR) ,以及在傳遞優化開始傳送資料 (BG_JOB_STATE_TRANSFERRING) 之前,才能使用錯誤介面。 |
備註
作業會在嚴重錯誤時處於錯誤狀態。 使用下列其中一個選項來判斷作業是否發生錯誤:
- 若要輪詢作業的狀態,請呼叫 IBackgroundCopyJob::GetState 方法。 如果狀態為 BG_JOB_STATE_ERROR,作業就會發生錯誤。
- 若要在發生錯誤時收到通知,請具體實作 IBackgroundCopyCallback 介面 (JobError 方法) 。 然後,呼叫 IBackgroundCopyJob::SetNotifyInterface 方法來註冊回呼和 IBackgroundCopyJob::SetNotifyFlags 方法來設定BG_NOTIFY_JOB_ERROR旗標。
IBackgroundCopyError介面包含您用來判斷錯誤原因的資訊,以及傳輸程式是否可以繼續。 判斷錯誤的原因之後,請執行下列其中一個選項:
- 若要取消作業,請呼叫 IBackgroundCopyJob::Cancel 方法。
- 若要儲存在發生錯誤之前成功傳輸的檔案,請呼叫 IBackgroundCopyJob::Complete 方法。
- 若要完成處理作業,請修正問題,然後呼叫 IBackgroundCopyJob::Resume 方法。
規格需求
| 需求 | 值 |
|---|---|
| 最低支援的用戶端 |
Windows 10 1709 版 [僅限傳統型應用程式] |
| 最低支援的伺服器 |
Windows Server 版本 1709 [僅限傳統型應用程式] |
| 標頭 |
|
| Idl |
|
| 程式庫 |
|
| DLL |
|
| IID |
IID_IBackgroundCopyJob定義為 37668D37-507E-4160-9316-26306D150B12 |