Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Завершает задание и сохраняет переданные файлы на клиенте.
Синтаксис
HRESULT Complete();
Возвращаемое значение
Этот метод возвращает следующие значения HRESULT . Метод также может возвращать ошибки, связанные с переименованием временных копий переданных файлов в заданные имена.
| Код возврата | Description |
|---|---|
|
Все файлы успешно переданы. |
|
Подмножество файлов успешно передано. |
|
Задание успешно завершено; однако служба не смогла удалить временные файлы, связанные с заданием. |
|
Для загрузки состояние задания не может быть 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 |
| целевая платформа | Виндоус |
| Header | bits.h |
| Library | Bits.lib |
| DLL | QmgrPrxy.dll |