Поделиться через


Метод IUpdateDownloaderEx::BeginDownload2 (wuapi.h)

Важный

Некоторые сведения относятся к предварительному продукту, который может быть существенно изменен до его коммерческого выпуска. Корпорация Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых в отношении информации, предоставленной здесь.

Запускает асинхронную загрузку файлов содержимого, связанных с обновлениями.

Синтаксис

HRESULT BeginDownload2(
  DownloadType downloadType,
  IUnknown     *onProgressChanged,
  IUnknown     *onCompleted,
  VARIANT      state,
  IDownloadJob **retval
);

Параметры

downloadType

Значение из DownloadType указание типа загрузки для выполнения, полного скачивания или скачивания только начального загрузчика обновления.

Заметка

Попытка скачать загрузчик обновления для обновления, не содержащего его, завершится ошибкой с WU_E_NOT_SUPPORTED кода ошибки.

onProgressChanged

Интерфейс IDownloadProgressChangedCallback, который вызывается периодически для изменения хода скачивания до завершения скачивания.

onCompleted

Интерфейс IDownloadCompletedCallback, который вызывается при завершении асинхронной операции загрузки.

state

Состояние, зависящее от вызывающего объекта, которое возвращает свойство AsyncState интерфейса IDownloadJob. Вызывающий объект может использовать этот параметр для присоединения значения к объекту задания загрузки. Это позволяет вызывающей программе получать пользовательские сведения об этом объекте задания загрузки в дальнейшем.

Заметка

  Свойство AsyncState интерфейса IDownloadJob можно получить, но его нельзя задать. Это не предотвращает изменение содержимого объекта, которое уже задано для свойства AsyncState интерфейса IDownloadJo b. Другими словами, если свойство AsyncState содержит число, нельзя изменить число. Но если свойство AsyncState содержит безопасный массив или объект, содержимое безопасного массива или объекта можно изменить по желанию. Значение освобождается при выпуске вызывающей IDownloadJob путем вызова IUpdateDownloader::EndDownload.

retval

Интерфейс IDownloadJob, содержащий свойства и методы, доступные для запуска операции загрузки.

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

HRESULT включая одно из следующих значений:

Ценность Описание
S_OK Успех.
WU_E_INVALID_OPERATION Компьютер не может получить доступ к сайту обновления.
WU_E_NO_UPDATE Агент центра обновления Windows (WUA) не содержит обновлений в коллекции.
WU_E_NOT_INITIALIZED Агент центра обновления Windows (WUA) не инициализирован.
WU_E_NOT_SUPPORTED Скачивание начального загрузчика обновления было выполнено при попытке обновления, которое не содержит его.

Замечания

В качестве альтернативы реализации интерфейса IDownloadProgressChangedCallback можно использовать сценарий для реализации процедуры обратного вызова любого идентификатора с DISPID 0 в объекте автоматизации. Тип параметра onProgressChangedIUnknown.

В качестве альтернативы реализации интерфейса IDownloadCompletedCallback можно использовать скрипт для реализации подпрограммы обратного вызова любого идентификатора с DISPID 0 в объекте автоматизации. Тип параметра onCompletedIUnknown.

Этот метод возвращает WU_E_INVALID_OPERATION, если объект, реализующий интерфейс, заблокирован.

Этот метод возвращает WU_E_NO_UPDATE, если свойство Updates интерфейса IUpdateDownloader не задано. Этот метод также возвращает WU_E_NO_UPDATE , если свойство Updates имеет пустую коллекцию.

Этот метод возвращает SUS_E_NOT_INITIALIZED, если задание скачивания не содержит обновлений.

При использовании любого асинхронного API WUA в приложении может потребоваться реализовать механизм ожидания. Дополнительные сведения о выполнении асинхронных операций WUA см. в руководства по асинхронным операциям WUA.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 11 Build 26100
заголовка wuapi.h