IBackgroundCopyFile3::GetTemporaryName 方法 (bits3_0.h)
获取包含下载内容的临时文件的完整路径。
语法
HRESULT GetTemporaryName(
[out] LPWSTR *pFilename
);
参数
[out] pFilename
包含临时文件的完整路径的以 Null 结尾的字符串。 完成后,调用 CoTaskMemFree 函数以释放 ppFileName 。
返回值
方法返回以下返回值。
返回代码 | 说明 |
---|---|
|
成功 |
注解
应用程序可以使用此方法在作业完成之前获取对数据的访问权限。 打开文件以 (FILE_SHARE_WRITE) 共享写入访问权限。 若要确定已传输并可供读取的字节数,请调用 IBackgroundCopyFile::GetProgress 方法。 请注意,如果 URL 的时间戳发生更改,进度信息将回设置为零。
在 BITS 开始传输文件之前,不要打开文件进行读取;否则,作业将进入暂时性错误状态。
临时文件在应用程序调用 IBackgroundCopyJob::Complete 或 IBackgroundCopyJob::Cancel 方法或 JobInactivityTimeout 组策略过期之前可用。 在调用 Complete 或 Cancel 方法之前,必须将句柄释放到临时文件。
调用 Complete 时,临时文件的 ACL 与最终文件的 ACL 相同, (ACL 继承自) 文件夹。
若要确定 BITS 是否已完成文件传输,可以:
- 调用 IBackgroundCopyFile::GetProgress 方法并将 BytesTransferred 与 BytesTotal 进行比较。
- 实现 IBackgroundCopyCallback2::FileTransferred 回调。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista |
最低受支持的服务器 | Windows Server 2008 |
目标平台 | Windows |
标头 | bits3_0.h (包括 Bits.h) |
Library | Bits.lib |