Метод IBackgroundCopyJob::AddFile (bits.h)
Добавляет в задание один файл.
Синтаксис
HRESULT AddFile(
[in] LPCWSTR RemoteUrl,
[in] LPCWSTR LocalName
);
Параметры
[in] RemoteUrl
Строка, завершающаяся значением NULL, содержащая имя файла на сервере. Сведения об указании удаленного имени см. в разделе Элемент RemoteName и примечания структуры BG_FILE_INFO .
[in] LocalName
Строка, завершающаяся значением NULL, содержащая имя файла на клиенте. Сведения об указании локального имени см. в разделе Элемент LocalName и Примечания структуры BG_FILE_INFO .
Возвращаемое значение
Этот метод возвращает следующие значения HRESULT , а также другие.
Код возврата | Описание |
---|---|
|
Файл успешно добавлен в задание. |
|
Задания отправки могут содержать только один файл; Вы не можете добавить другой файл в задание. |
|
Параметр групповая политика MaxFilesPerJob определяет, сколько файлов может содержать задание. Добавление файла в задание превышает ограничение MaxFilesPerJob. |
|
Эта ошибка может возникнуть по одной из следующих причин:
|
|
Пользователь не имеет разрешения на запись в указанный каталог на клиенте. |
Комментарии
Чтобы добавить в задание несколько файлов одновременно, вызовите метод IBackgroundCopyJob::AddFileSet . При добавлении нескольких файлов в задание эффективнее вызывать метод AddFileSet , чем метод AddFile в цикле. Дополнительные сведения см. в разделе Добавление файлов в задание.
Чтобы добавить файл в задание, из которого BITS загружает диапазоны данных из файла, вызовите метод IBackgroundCopyJob3::AddFileWithRanges .
Задания отправки могут содержать только один файл. При добавлении второго файла метод возвращает BG_E_TOO_MANY_FILES.
При скачивании BITS гарантирует, что версия файла (в зависимости от размера и даты, а не содержимого) будет согласованной; однако это не гарантирует согласованность набора файлов. Например, если BITS находится в середине загрузки второго из двух файлов в задании во время обновления файлов на сервере, BITS перезапускает скачивание второго файла; однако первый файл больше не скачан.
Обратите внимание, что если вы являетесь владельцем файла, скачиваемого с сервера, необходимо создать новый URL-адрес для каждой новой версии файла. Если вы используете тот же URL-адрес для новых версий файла, некоторые прокси-серверы могут обслуживать устаревшие данные из кэша, так как они не проверяют на исходном сервере, является ли файл устаревшим.
При отправке BITS создает ошибку, если локальный файл изменяется во время передачи файла. Код ошибки BG_E_FILE_CHANGED, а контекст — BG_ERROR_CONTEXT_LOCAL_FILE.
BITS передает файлы в задании последовательно. Если во время передачи файла возникает ошибка, задание переходит в состояние ошибки, и никакие другие файлы в задании не обрабатываются до тех пор, пока ошибка не будет устранена.
По умолчанию пользователь может добавить в задание до 200 файлов. Это ограничение не применяется к администраторам или учетным записям служб. Чтобы изменить значение по умолчанию, задайте групповые политики MaxFilesPerJob .
До Windows Vista: Количество файлов, которые пользователь может добавить в задание, не ограничено.
Сведения о масштабируемости см . в статье Рекомендации по использованию BITS.
Примеры
Пример добавления одного файла в задание см. в разделе Добавление файлов в задание.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP |
Минимальная версия сервера | Windows Server 2003 |
Целевая платформа | Windows |
Header | bits.h |
Библиотека | Bits.lib |
DLL | QmgrPrxy.dll |
См. также раздел
IBackgroundCopyJob3::AddFileWithRanges