Partager via


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

Démarre un téléchargement asynchrone des fichiers de contenu associés aux mises à jour.

Syntaxe

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

Paramètres

[in] onProgressChanged

Une interface IDownloadProgressChangedCallback appelée régulièrement pour la progression du téléchargement change avant la fin du téléchargement.

[in] onCompleted

Interface IDownloadCompletedCallback (C++/COM) appelée quand une opération de téléchargement asynchrone est terminée.

[in] state

État spécifique à l’appelant que la propriété AsyncState de l’interface IDownloadJob retourne. Un appelant peut utiliser ce paramètre pour attacher une valeur à l’objet de travail de téléchargement. Cela permet à l’appelant de récupérer des informations personnalisées sur cet objet de travail de téléchargement ultérieurement.

Remarque  

La propriété AsyncState de l’interface IDownloadJob peut être récupérée, mais elle ne peut pas être définie. Cela n’empêche pas l’appelant de modifier le contenu de l’objet déjà défini sur la propriété AsyncState de l’interface IDownloadJob . En d’autres termes, si la propriété AsyncState contient un nombre, le nombre ne peut pas être modifié. Toutefois, si la propriété AsyncState contient un tableau ou un objet sécurisé, le contenu du tableau sécurisé ou de l’objet peut être modifié à volonté. La valeur est libérée lorsque l’appelant libère IDownloadJob en appelant IUpdateDownloader ::EndDownload.

 

[out] retval

Interface IDownloadJob qui contient les propriétés et les méthodes disponibles pour une opération de téléchargement qui a démarré.

Valeur retournée

Retourne S_OK en cas de réussite. Sinon, retourne un code d’erreur COM ou Windows.

Cette méthode peut également retourner les codes d’erreur suivants.

Code de retour Description
WU_E_INVALID_OPERATION
L’ordinateur ne peut pas accéder au site de mise à jour.
WU_E_NO_UPDATE
L’agent Windows Update (WUA) n’a pas de mises à jour dans la collection.
WU_E_NOT_INITIALIZED
L’agent Windows Update (WUA) n’est pas initialisé.

Remarques

En guise d’alternative à l’implémentation de l’interface IDownloadProgressChangedCallback , vous pouvez utiliser un script pour implémenter une routine de rappel de n’importe quel identificateur avec DISPID 0 sur un objet Automation. Le type du paramètre onProgressChanged est IUnknown*.

En guise d’alternative à l’implémentation de l’interface IDownloadCompletedCallback , vous pouvez utiliser un script pour implémenter une routine de rappel de n’importe quel identificateur avec DISPID 0 sur un objet Automation. Le type du paramètre onCompleted est IUnknown*.

Cette méthode retourne WU_E_INVALID_OPERATION si l’objet qui implémente l’interface est verrouillé.

Cette méthode retourne WU_E_NO_UPDATE si la propriété Mises à jour de l’interface IUpdateDownloader n’est pas définie. Cette méthode retourne également WU_E_NO_UPDATE si la propriété Mises à jour est définie sur une collection vide.

Cette méthode retourne SUS_E_NOT_INITIALIZED si le travail de téléchargement ne contient aucune mise à jour.

Lorsque vous utilisez une API WUA asynchrone dans votre application, vous devrez peut-être implémenter un mécanisme de délai d’attente. Pour plus d’informations sur la façon d’effectuer des opérations WUA asynchrones, consultez Instructions pour les opérations WUA asynchrones.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP, Windows 2000 Professionnel avec SP3 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003, Windows 2000 Server avec SP3 [applications de bureau uniquement]
Plateforme cible Windows
En-tête wuapi.h
Bibliothèque Wuguid.lib
DLL Wuapi.dll

Voir aussi

IUpdateDownloader