Compartir a través de


Método IUpdateDownloader::BeginDownload (wuapi.h)

Inicia una descarga asincrónica de los archivos de contenido asociados a las actualizaciones.

Sintaxis

HRESULT BeginDownload(
  [in]  IUnknown     *onProgressChanged,
  [in]  IUnknown     *onCompleted,
  [in]  VARIANT      state,
  [out] IDownloadJob **retval
);

Parámetros

[in] onProgressChanged

Interfaz IDownloadProgressChangedCallback a la que se llama periódicamente para los cambios de progreso de descarga antes de que se complete la descarga.

[in] onCompleted

Interfaz IDownloadCompletedCallback (C++/COM) a la que se llama cuando se completa una operación de descarga asincrónica.

[in] state

Estado específico del autor de la llamada que devuelve la propiedad AsyncState de la interfaz IDownloadJob . Un llamador puede usar este parámetro para adjuntar un valor al objeto de trabajo de descarga. Esto permite al autor de la llamada recuperar información personalizada sobre ese objeto de trabajo de descarga en un momento posterior.

Nota  

La propiedad AsyncState de la interfaz IDownloadJob se puede recuperar, pero no se puede establecer. Esto no impide que el autor de la llamada cambie el contenido del objeto ya establecido en la propiedad AsyncState de la interfaz IDownloadJob . Es decir, si la propiedad AsyncState contiene un número, no se puede cambiar el número. Sin embargo, si la propiedad AsyncState contiene una matriz segura o un objeto, el contenido de la matriz segura o el objeto se puede cambiar a voluntad. El valor se libera cuando el autor de la llamada libera IDownloadJob llamando a IUpdateDownloader::EndDownloader.

 

[out] retval

Interfaz IDownloadJob que contiene las propiedades y los métodos que están disponibles para una operación de descarga que se ha iniciado.

Valor devuelto

Devuelve S_OK si se ejecuta correctamente. De lo contrario, devuelve un código de error COM o Windows.

Este método también puede devolver los siguientes códigos de error.

Código devuelto Descripción
WU_E_INVALID_OPERATION
El equipo no puede acceder al sitio de actualización.
WU_E_NO_UPDATE
El agente de Windows Update (WUA) no tiene actualizaciones en la colección.
WU_E_NOT_INITIALIZED
El agente de Windows Update (WUA) no se inicializa.

Comentarios

Como alternativa a implementar la interfaz IDownloadProgressChangedCallback , puede usar un script para implementar una rutina de devolución de llamada de cualquier identificador con DISPID 0 en un objeto de automatización. El tipo del parámetro onProgressChanged es IUnknown*.

Como alternativa a implementar la interfaz IDownloadCompletedCallback , puede usar un script para implementar una rutina de devolución de llamada de cualquier identificador con DISPID 0 en un objeto de automatización. El tipo del parámetro onCompleted es IUnknown*.

Este método devuelve WU_E_INVALID_OPERATION si el objeto que implementa la interfaz está bloqueado.

Este método devuelve WU_E_NO_UPDATE si no se establece la propiedad Novedades de la interfaz IUpdateDownloader. Este método también devuelve WU_E_NO_UPDATE si la propiedad Novedades está establecida en una colección vacía.

Este método devuelve SUS_E_NOT_INITIALIZED si el trabajo de descarga no contiene actualizaciones.

Al usar cualquier API de WUA asincrónica en la aplicación, es posible que tenga que implementar un mecanismo de tiempo de espera. Para obtener más información sobre cómo realizar operaciones asincrónicas de WUA, consulta Directrices para las operaciones de WUA asincrónicas.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP, Windows 2000 Professional con SP3 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003, Windows 2000 Server con SP3 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado wuapi.h
Library Wuguid.lib
Archivo DLL Wuapi.dll

Consulte también

IUpdateDownloader