структура 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-адреса; не выполняется обработка escape-файла. URL-адрес ограничен 2200 символами без учета признака null.

Каждый сегмент URL-адреса ограничен MAX_PATH символами.

SMB можно использовать для выражения удаленного имени файла для скачивания или отправки; нет поддержки SMB для заданий отправки и ответа. Удаленное имя можно указать как UNC-путь, полный путь с сетевым диском или использовать префикс "file://". BITS 1.5 и более ранние версии: Протокол SMB для RemoteName не поддерживается.

LocalName

Строка, завершающаяся значением NULL, содержащая имя файла на клиенте. Имя файла должно содержать полный путь (например, d:\myapp\updates\file.ext). Вы не можете использовать подстановочные знаки в пути или имени файла, и каталоги в пути должны существовать. Путь ограничен MAX_PATH, не включая признак конца null.

Пользователь должен иметь разрешение на запись в локальный каталог для загрузки и части ответа задания отправки и ответа. BITS не поддерживает потоки NTFS. Вместо использования сетевых дисков, относящихся к сеансу, используйте UNC-пути (например, \server\share\path\file). Не включайте \? префикс в пути.

Комментарии

BITS поддерживает протоколы HTTP, HTTPS и SMB для RemoteName. Требования к HTTP см. в разделе Http Requirements for BITS Downloads.

BITS 1.5 и более ранние версии: Протокол SMB для RemoteName не поддерживается.

Ниже показано, распространяет ли BITS метки времени файла.

  • При скачивание по протоколу HTTP BITS распространяет метку времени изменения файла и устанавливает время создания файла в значение времени изменения.
  • При отправке по ПРОТОКОЛУ BITS не распространяет метки времени файла.
  • При скачивании и отправке SMB BITS распространяет метки времени файла.
BITS не поддерживает пути SMB к именованным каналам или устройствам. Чтобы сохранить сведения о владельце и ACL для файлов, скачанных с помощью SMB, вызовите метод IBackgroundCopyJob3::SetFileACLFlags .

Если часть url-адреса пути и имени файла для задания отправки и отправки и ответа HTTP содержит символы Юникода, которые не являются общими для кодовой страницы как на клиенте, так и на сервере, преобразование URL-адреса на сервере завершится ошибкой, и задание BITS будет помещено в состояние ошибки. Если серверная часть URL-адреса содержит символы Юникода, необходимо закодировать часть сервера с помощью международных доменных имен (IDN).

BITS не ограничивает размер файла, который можно скачать по протоколу HTTP. Ограничения на отправку см. в свойстве расширения IIS BITSMaximumUploadSize .

IIS 5.0: Загрузка ограничена 4 ГБ.

BITS 1.2 и более ранние версии: Для загрузки по протоколу HTTP максимальный размер файла, который можно передать, составляет 4 ГБ; BITS не может гарантировать успешную передачу файлов размером более 4 ГБ. Если URL-адрес содержит символы Юникода, которых нет в наборе символов US-ASCII, закодируйте строку Юникода в UTF-8, прежде чем передавать ее в качестве удаленного имени файла в BITS. Если не закодировать строку, HTTP-сервер может получить неправильный URL-адрес, а задание может перейти в состояние ошибки.

Требования

Требование Значение
Минимальная версия клиента Windows XP
Минимальная версия сервера Windows Server 2003
Верхняя часть bits.h

См. также раздел

IBackgroundCopyFile2::SetRemoteName

IBackgroundCopyFile::GetLocalName

IBackgroundCopyFile::GetRemoteName

IBackgroundCopyJob3::ReplaceRemotePrefix

IBackgroundCopyJob::AddFileSet