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 回调在 JobTransferred 和 JobError 回调之前调度。
FileTransferred 回调用于下载作业或上传-答复作业的回复部分。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista |
最低受支持的服务器 | Windows Server 2008 |
目标平台 | Windows |
标头 | bits3_0.h (包括 Bits.h) |
Library | Bits.lib |