Метод IBackgroundCopyJob::Complete (bits.h)
Завершает задание и сохраняет переданные файлы на клиенте.
Синтаксис
HRESULT Complete();
Возвращаемое значение
Этот метод возвращает следующие значения HRESULT . Метод также может возвращать ошибки, связанные с переименованием временных копий переданных файлов с заданными именами.
Код возврата | Описание |
---|---|
|
Все файлы успешно переданы. |
|
Подмножество файлов успешно передано. |
|
Задание успешно завершено; однако службе не удалось удалить временные файлы, связанные с заданием. |
|
При скачивании состояние задания не может быть BG_JOB_STATE_CANCELLED или BG_JOB_STATE_ACKNOWLEDGED.
Для отправки состояние задания должно быть BG_JOB_STATE_TRANSFERRED. |
Комментарии
Скачиваемые файлы недоступны, пока вы не вызовете метод Complete . Вызовите метод Complete после того, как BITS успешно передаст файлы. Метод переименовывает временные скачанные файлы в конечные конечные имена и удаляет задание из очереди. Обратите внимание, что BITS переименовывает временный файл отправки, когда сервер получает последний фрагмент, поэтому задания загрузки требуют сетевого подключения, а задания отправки — нет.
Все файлы успешно перенесены, если задание находится в состоянии BG_JOB_STATE_TRANSFERRED. Чтобы проверка состояние задания, вызовите метод IBackgroundCopyJob::GetState. Вы также можете реализовать интерфейс IBackgroundCopyCallback для получения уведомлений о передаче всех файлов клиенту.
Если не вызвать метод Complete или метод IBackgroundCopyJob::Cancel в течение 90 дней (по умолчанию JobInactivityTimeout групповая политика), служба отменит задание. Если служба отменяет задание, скачанные файлы и файл ответа недоступны для клиента; Отмена задания не влияет на успешно отправленные файлы.
BITS удаляет задание из очереди передачи, если HRESULT S_OK или BG_S_PARTIAL_COMPLETE. Задание остается в очереди передачи, если BITS не удалось переименовать все временные файлы. Файлы, которые были успешно переименованы, доступны пользователю. Задание остается в очереди (состояние BG_JOB_STATE_TRANSFERRED), пока приложение не сможет устранить проблему и снова не вызовет метод Complete или метод IBackgroundCopyJob::Cancel для отмены задания. Сведения о том, какие файлы не были переименованы для заданий загрузки, см. в разделе Завершено структуры BG_FILE_PROGRESS .
Для заданий скачивания можно вызвать метод Complete в любое время во время процесса передачи. однако сохраняются только файлы, которые были успешно переданы клиенту перед вызовом этого метода. Например, при вызове метода Complete в то время как BITS обрабатывает трети из пяти файлов, сохраняются только первые два файла. Чтобы определить, какие файлы были переданы, вызовите метод IBackgroundCopyFile::GetProgress и сравните элемент BytesTransferred с элементом BytesTotalструктуры BG_FILE_PROGRESS .
Для отправки заданий метод Complete можно вызывать только в том случае, если задание находится в состоянии BG_JOB_STATE_TRANSFERRED.
BITS не гарантирует целостность переданных файлов от сторонних вторжений. Клиенты могут реализовать проверки целостности для проверки переданных файлов после вызова метода Complete .
Владельцем файла является пользователь, который сделал вызов. Например, если администратор выполняет задание другого пользователя, администратор, а не владелец задания, владеет файлом.
BITS 1.2 и более ранние версии: Владелец файла является владельцем задания независимо от того, кто вызвал метод Complete .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP |
Минимальная версия сервера | Windows Server 2003 |
Целевая платформа | Windows |
Header | bits.h |
Библиотека | Bits.lib |
DLL | QmgrPrxy.dll |