共用方式為


完成與取消任務

若要完成傳輸作業,請呼叫 IBackgroundCopyJob::Complete 方法。 針對下載作業,您可以提前在工作中的所有檔案傳輸完成前呼叫 Complete 方法(當作業狀態還未變成 BG_JOB_STATE_TRANSFERRED 時)。 只有 BITS 在您呼叫 Complete 方法之前成功傳送到客戶端的檔案可供使用者使用。

針對上傳作業,只有在作業的狀態為BG_JOB_STATE_TRANSFERRED時,才呼叫 Complete 方法。 若要判斷作業的狀態何時BG_JOB_STATE_TRANSFERRED,輪詢 作業的狀態屬性,或註冊以接收BG_NOTIFY_JOB_TRANSFERRED 事件通知

若要取消傳輸作業,請呼叫 IBackgroundCopyJob::Cancel 方法。 Cancel 方法會從傳輸佇列中移除作業,並從用戶端移除暫存盤。 通常,如果您無法解決與作業相關聯的錯誤,請呼叫這個方法。

如果上傳未完成,Cancel 方法會取消上傳。 如果上傳完成,且作業的類型為 BG_JOB_TYPE_UPLOAD_REPLY,則方法會取消回復。

如果您未在 90 天內呼叫 Complete 方法或 IBackgroundCopyJob::Cancel 方法(預設 JobInactivityTimeout 組策略),服務就會取消作業。 如果服務取消作業,則下載的檔案和回復檔案無法供用戶端使用;作業取消不會影響已成功上傳的檔案。 您應該一律呼叫 CompleteCancel 方法,而不依賴 JobInactivityTimeout 設定來清除您的作業。 如果達到 MaxJobsPerUser 或 MaxJobsPerMachine 原則限制,佇列中留下的作業可能會防止使用者建立其他作業。