IBackgroundCopyCallback2::FileTransferred 方法 (bits3_0.h)

当 BITS 成功完成文件传输时,BITS 将调用 FileTransferred 方法的实现。

语法

HRESULT FileTransferred(
  [in] IBackgroundCopyJob  *pJob,
  [in] IBackgroundCopyFile *pFile
);

参数

[in] pJob

包含与作业相关的信息。 不释放 pJob;当此方法返回时,BITS 释放接口。

[in] pFile

包含与文件相关的信息。 不释放 pFile;当此方法返回时,BITS 释放接口。

返回值

此方法应返回 S_OK;否则,如果为负,则 BITS 将继续调用此方法,直到返回 S_OK 。 出于性能原因,应将返回除 S_OK 以外的值的次数限制为多次。 作为返回错误代码的替代方法,请考虑始终返回 S_OK 并在内部处理错误。 调用此方法的间隔是任意的。

注解

通常,除非要验证下载的文件的内容,否则不会使用此回调。 如果要下载可提供给对等方的内容,验证文件可能很重要。

若要获取包含已下载内容的临时文件的名称,请调用 IBackgroundCopyFile3::GetTemporaryName 方法。 验证内容后,调用 IBackgroundCopyFile3::SetValidationState 方法向 BITS 指示文件内容是否有效。 如果将验证状态设置为 FALSE ,并且内容来自源服务器,则作业将移动到错误状态。

如果内容来自对等方,则 BITS 将从源服务器下载文件。 从源服务器完成文件传输后,将再次调用回调。

BITS 3.0: 从源服务器完成文件传输后,不会再次调用回调。

对于作业, 将序列化 FileTransferred 回调。 在当前回调成功返回之前,BITS 不会为作业中的下一个文件调度回调。

FileTransferred 回调在 JobTransferredJobError 回调之前调度。

FileTransferred 回调用于下载作业或上传-答复作业的回复部分。

要求

要求
最低受支持的客户端 Windows Vista
最低受支持的服务器 Windows Server 2008
目标平台 Windows
标头 bits3_0.h (包括 Bits.h)
Library Bits.lib

另请参阅

IBackgroundCopyCallback

IBackgroundCopyCallback2