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