BG_FILE_INFO结构 (bits.h)
提供要传输的文件的本地名称和远程名称。
语法
typedef struct _BG_FILE_INFO {
LPWSTR RemoteName;
LPWSTR LocalName;
} BG_FILE_INFO;
成员
RemoteName
以 Null 结尾的字符串,其中包含服务器上文件的名称 (例如,http://< server>/<path>/file.ext) 。 名称的格式必须符合使用的传输协议。 不能在路径或文件名中使用通配符。 URL 必须仅包含合法 URL 字符;不执行转义处理。 URL 限制为 2,200 个字符,不包括 null 终止符。
URL 的每个段限制为MAX_PATH个字符。
可以使用 SMB 来表示要下载或上传的文件的远程名称;上传-答复作业没有 SMB 支持。 可以将远程名称指定为 UNC 路径,将完整路径指定为网络驱动器,或使用“file://”前缀。 BITS 1.5 及更早版本: 不支持 RemoteName 的 SMB 协议。
LocalName
以 Null 结尾的字符串,其中包含客户端上文件的名称。 文件名必须包含完整路径 (例如 d:\myapp\updates\file.ext) 。 不能在路径或文件名中使用通配符,并且路径中的目录必须存在。 路径限制为MAX_PATH,不包括 null 终止符。
用户必须有权写入本地目录,以便下载和上传-答复作业的回复部分。 BITS 不支持 NTFS 流。 不使用特定于会话的网络驱动器,而是使用 UNC 路径 (例如\server\share\path\file) 。 不包括 \? 路径中的前缀。
注解
BITS 支持 RemoteName 的 HTTP、HTTPS 和 SMB 协议。 有关 HTTP 要求,请参阅 BITS 下载的 HTTP 要求。
BITS 1.5 及更早版本: 不支持 RemoteName 的 SMB 协议。
以下内容标识 BITS 是否传播文件的时间戳:
- 对于 HTTP 下载,BITS 传播文件的修改时间戳,并将文件的创建时间设置为修改时间。
- 对于 HTTP 上传,BITS 不会传播文件的时间戳。
- 对于 SMB 下载和上传,BITS 传播文件的时间戳。
如果 HTTP 上传和上传-答复作业的 URL 的路径和文件名部分包含客户端和服务器上的代码页不通用的 Unicode 字符,则服务器上的 URL 转换将失败,并且 BITS 作业将处于错误状态。 如果 URL 的服务器部分包含 Unicode 字符,则必须使用 国际化域名 (IDN) 对服务器部分进行编码。
BITS 不限制可以使用 HTTP 下载的文件的大小。 有关上传限制,请参阅 BITSMaximumUploadSize IIS 扩展属性。
IIS 5.0: 下载限制为 4 GB。
BITS 1.2 及更早版本: 对于 HTTP 下载,可以传输的最大文件大小为 4 GB;BITS 不能保证成功传输超过 4 GB 的文件。 如果 URL 包含不在 US-ASCII 字符集中的 Unicode 字符,请在 UTF-8 中对 Unicode 字符串进行编码,然后将其作为远程文件名传递给 BITS。 如果不对字符串进行编码,HTTP 服务器可能会收到不正确的 URL,并且作业可能会进入错误状态。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP |
最低受支持的服务器 | Windows Server 2003 |
标头 | bits.h |
另请参阅
IBackgroundCopyFile2::SetRemoteName
IBackgroundCopyFile::GetLocalName
IBackgroundCopyFile::GetRemoteName