Метод IBackgroundCopyCallback3::FileRangesTransferred (bits10_1.h)

BITS вызывает реализацию метода FileRangesTransferred при загрузке одного или нескольких диапазонов файлов. Диапазоны файлов добавляются в задание с помощью метода IBackgroundCopyFile6::RequestFileRanges .

Синтаксис

HRESULT FileRangesTransferred(
  IBackgroundCopyJob     *job,
  IBackgroundCopyFile    *file,
  DWORD                  rangeCount,
  const BG_FILE_RANGE [] ranges
);

Параметры

job

Объект IBackgroundCopyJob , содержащий методы для доступа к свойству, ходу выполнения и сведениям о состоянии задания. Не выпускайте pJob; BITS освобождает интерфейс при возврате метода.

file

Объект IBackgroundCopyFile , содержащий сведения о файле, диапазоны которого изменились. Не выпускайте pFile; BITS освобождает интерфейс при возврате метода.

rangeCount

Количество записей в массиве диапазонов.

ranges

Массив диапазонов файлов, переданных с момента последнего вызова FileRangesTransferred или последнего вызова метода IBackgroundCopyFile6::RequestFileRanges . Не освобождайте диапазоны; BITS освобождает память диапазонов при возврате метода FileRangesTransferred .

Возвращаемое значение

Этот метод возвращает S_OK об успешном выполнении; в противном случае возвращает код ошибки.

Комментарии

Диапазоны, возвращаемые в этом методе, могут не совпадать с запрошенными диапазонами. Это связано с тем, что BITS не будет скачивать один и тот же диапазон байтов дважды, а bits может сообщать о скачивании части диапазона.

Реализация может не получать все события изменения в условиях максимальной нагрузки ресурсов.

BITS создает большой объем событий; рассмотрите возможность создания таймера и опроса сведений о состоянии и ходе выполнения или ограничения использования этого обратного вызова. Если вы используете этот обратный вызов, оставьте реализацию короткой. Для свойства BITS_JOB_PROPERTY_MINIMUM_NOTIFICATION_INTERVAL следует задать максимальное значение, которое по-прежнему соответствует вашим потребностям; это позволит сократить количество ненужных обратных вызовов.

Примечание BITS поддерживает до четырех одновременных уведомлений для каждого пользователя. Если одно или несколько приложений блокируют возврат всех четырех уведомлений для пользователя, приложение, работающее от имени одного и того же пользователя, не будет получать уведомления до тех пор, пока не вернется одно или несколько блокирующих уведомлений.
 

Примеры

Пример использования этой функции см. в примере кода для интерфейса IBackgroundCopyCallback3 .

Требования

Требование Значение
Минимальная версия клиента Windows 10 версии 1703 [только классические приложения]
Минимальная версия сервера Windows Server 2016 [только классические приложения]
Целевая платформа Windows
Header bits10_1.h (включая Bits.h)
Библиотека Bits.lib

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

IBackgroundCopyCallback3