共用方式為


IBackgroundCopyJob::Complete 方法

結束作業,並將傳輸的檔案儲存在用戶端上。

語法

HRESULT Complete();

參數

這個方法沒有任何參數。

傳回值

這個方法會傳回下列 HRESULT 值。 方法也可以傳回與重新命名所傳送檔案暫存複本相關的錯誤,並將其指定名稱。

傳回碼 描述
S_OK
成功傳輸的所有檔案。
DO_E_INVALID_STATE
針對下載,作業的狀態無法BG_JOB_STATE_CANCELLED或BG_JOB_STATE_ACKNOWLEDGED。
針對上傳,作業的狀態必須BG_JOB_STATE_TRANSFERRED。

備註

如果作業的狀態 為BG_JOB_STATE_TRANSFERRED,則已成功傳輸所有檔案。 若要檢查作業的狀態,請呼叫 IBackgroundCopyJob::GetState 方法。 您也可以實作 IBackgroundCopyCallback 介面,以在所有檔案都傳輸至用戶端時接收通知。

傳遞優化只會保留少於 30 天的作業。 將會移除所有較舊的作業。 傳遞優化不支援JobInactivityTimeout群組原則。

針對下載作業,您可以在傳輸程式期間隨時呼叫 Complete 方法;不過,只會儲存在呼叫此方法之前成功傳送至用戶端的檔案。 例如,如果您在傳遞優化處理五個檔案的第三個檔案時呼叫 Complete 方法,則只會儲存前兩個檔案。 若要判斷已傳輸的檔案,請呼叫IBackgroundCopyFile::GetProgress方法,並將BytesTransferred成員與BG_FILE_PROGRESS結構的BytesTotal成員進行比較。

對於上傳作業,您只能在作業的狀態為BG_JOB_STATE_TRANSFERRED時呼叫Complete方法。

檔案的擁有者是撥打電話的使用者。 例如,如果系統管理員完成其他人的工作,系統管理員不是作業的擁有者擁有檔案。

規格需求

需求
最低支援的用戶端
Windows 10 1709 版 [僅限傳統型應用程式]
最低支援的伺服器
Windows Server 版本 1709 [僅限傳統型應用程式]
標頭
Deliveryoptimization.h
Idl
DeliveryOptimization.idl
程式庫
Dosvc.lib
DLL
Dosvc.dll
IID
IID_IBackgroundCopyJob定義為 37668D37-507E-4160-9316-26306D150B12

另請參閱

IBackgroundCopyJob

IBackgroundCopyJob::Cancel

IBackgroundCopyJob::GetState