Метод IBackgroundCopyCallback::JobTransferred (bits.h)
BITS вызывает реализацию метода JobTransferred , если все файлы в задании успешно переданы. Для BG_JOB_TYPE_UPLOAD_REPLY заданий BITS вызывает метод JobTransferred после передачи файла отправки на сервер и передачи ответа клиенту.
Синтаксис
HRESULT JobTransferred(
[in] IBackgroundCopyJob *pJob
);
Параметры
[in] pJob
Содержит сведения, связанные с заданием, такие как время завершения задания, количество переданных байтов и количество переданных файлов. Не выпускайте pJob; BITS освобождает интерфейс при возврате метода.
Возвращаемое значение
Этот метод должен возвращать S_OK; В противном случае BITS продолжает вызывать этот метод, пока не будет возвращен S_OK . По соображениям производительности следует ограничить количество возвращаемых значений, отличных от S_OK , несколькими разами. В качестве альтернативы возврату кода ошибки рекомендуется всегда возвращать S_OK и обрабатывать ошибку внутри системы. Интервал, с которым вызывается этот метод, является произвольным.
Обратите внимание, что если этот метод завершается сбоем и вы вызвали метод IBackgroundCopyJob2::SetNotifyCmdLine , командная строка выполняется и этот метод не вызывается повторно.
Комментарии
Как правило, реализация должна вызывать метод IBackgroundCopyJob::Complete , чтобы подтвердить, что BITS успешно передал файлы. Скачанные файлы и файл ответов недоступны на клиенте, пока вы не вызовете метод Complete .
Если не вызвать метод Complete или метод IBackgroundCopyJob::Cancel в течение 90 дней (по умолчанию JobInactivityTimeout групповая политика), BITS отменит задание и удалит скачанные файлы и файл ответа; отмена задания не повлияет на успешно отправленные файлы.
Если вы хотите получить данные ответа в обратном вызове, запросите pJob для интерфейса IBackgroundCopyJob2 и вызовите его метод GetReplyData . Чтобы получить имя файла, содержащего данные ответа, вызовите метод GetReplyFileName .
BITS не гарантирует целостность переданных файлов от сторонних вторжений. Клиенты могут реализовать проверки целостности для проверки переданных файлов перед вызовом метода Complete . Чтобы получать уведомления о передаче файла, реализуйте метод IBackgroundCopyCallback2::FileTransferred . В обратном вызове вызовите метод IBackgroundCopyFile3::GetTemporaryName , чтобы получить имя временного файла, содержащего скачанного содержимого. Проверьте содержимое, а затем вызовите метод IBackgroundCopyFile3::SetValidationState , чтобы указать, является ли содержимое допустимым. Если содержимое недопустимо и BITS скачал файл с сервера-источника, задание переходит в состояние ошибки. Если задание было загружено с однорангового узла, BITS скачивает файл с сервера-источника.
Примеры
См. пример кода для интерфейса IBackgroundCopyCallback .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP |
Минимальная версия сервера | Windows Server 2003 |
Целевая платформа | Windows |
Header | bits.h |