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.
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 |
---|---|
|
El equipo no puede acceder al sitio de actualización. |
|
El agente de Windows Update (WUA) no tiene actualizaciones en la colección. |
|
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 |