IBackgroundCopyCallback3::FileRangesTransferred 方法 (bits10_1.h)
当下载一个或多个文件范围时,BITS 会调用 FileRangesTransferred 方法的实现。 使用 IBackgroundCopyFile6::RequestFileRanges 方法将文件范围添加到作业。
语法
HRESULT FileRangesTransferred(
IBackgroundCopyJob *job,
IBackgroundCopyFile *file,
DWORD rangeCount,
const BG_FILE_RANGE [] ranges
);
参数
job
一个 IBackgroundCopyJob 对象,该对象包含用于访问作业的属性、进度和状态信息的方法。 不释放 pJob;当 方法返回时,BITS 释放 接口。
file
一个 IBackgroundCopyFile 对象,该对象包含有关其范围已更改的文件的信息。 不要释放 pFile;当 方法返回时,BITS 释放 接口。
rangeCount
ranges 数组中的条目计数。
ranges
自上次调用 FileRangesTransferred 或上次调用 IBackgroundCopyFile6::RequestFileRanges 方法以来传输的文件范围的数组。 不释放 范围; 当 FileRangesTransferred 方法返回时,BITS 释放范围内存。
返回值
此方法在成功时返回 S_OK ;否则,将返回错误代码。
注解
此方法中返回的范围可能与所请求的范围不匹配。 这是因为 BITS 不会下载同一字节范围两次,并且因为 BITS 可以在下载某个范围的一部分时进行报告。
在最大资源负载条件下,实现可能不会收到所有修改事件。
BITS 生成大量事件;请考虑创建计时器并轮询状态和进度信息,或限制使用此回调。 如果使用此回调,请保持实现简短。 应将 BITS_JOB_PROPERTY_MINIMUM_NOTIFICATION_INTERVAL 属性设置为仍然满足需求的最大值;这将减少不需要的回调数。
示例
有关如何使用此函数的示例,请参阅 IBackgroundCopyCallback3 接口的示例代码。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 10版本 1703 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2016 [仅限桌面应用] |
目标平台 | Windows |
标头 | bits10_1.h (包括 Bits.h) |
Library | Bits.lib |