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 传播文件的时间戳。
BITS 不支持指向命名管道或设备的 SMB 路径。 若要维护使用 SMB 下载的文件的所有者和 ACL 信息,请调用 IBackgroundCopyJob3::SetFileACLFlags 方法。

如果 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

IBackgroundCopyJob3::ReplaceRemotePrefix

IBackgroundCopyJob::AddFileSet