Metodo IUpdateDownloader::BeginDownload (wuapi.h)

Avvia un download asincrono dei file di contenuto associati agli aggiornamenti.

Sintassi

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

Parametri

[in] onProgressChanged

Interfaccia IDownloadProgressChangedCallback chiamata periodicamente per le modifiche dello stato di avanzamento del download prima del completamento del download.

[in] onCompleted

Interfaccia IDownloadCompletedCallback (C++/COM) chiamata quando viene completata un'operazione di download asincrona.

[in] state

Stato specifico del chiamante restituito dalla proprietà AsyncState dell'interfaccia IDownloadJob . Un chiamante può usare questo parametro per collegare un valore all'oggetto processo di download. Ciò consente al chiamante di recuperare informazioni personalizzate sull'oggetto processo di download in un secondo momento.

Nota  

La proprietà AsyncState dell'interfaccia IDownloadJob può essere recuperata, ma non può essere impostata. Ciò non impedisce al chiamante di modificare il contenuto dell'oggetto già impostato sulla proprietà AsyncState dell'interfaccia IDownloadJob . In altre parole, se la proprietà AsyncState contiene un numero, il numero non può essere modificato. Tuttavia, se la proprietà AsyncState contiene una matrice sicura o un oggetto, il contenuto della matrice sicura o l'oggetto può essere modificato. Il valore viene rilasciato quando il chiamante rilascia IDownloadJob chiamando IUpdateDownloader::EndDownload.

 

[out] retval

Interfaccia IDownloadJob che contiene le proprietà e i metodi disponibili per un'operazione di download avviata.

Valore restituito

Restituisce S_OK se riuscito. In caso contrario, restituisce un codice di errore COM o Windows.

Questo metodo può anche restituire i codici di errore seguenti.

Codice restituito Descrizione
WU_E_INVALID_OPERATION
Il computer non può accedere al sito di aggiornamento.
WU_E_NO_UPDATE
L'agente Windows Update (WUA) non ha aggiornamenti nella raccolta.
WU_E_NOT_INITIALIZED
L'agente Windows Update (WUA) non viene inizializzato.

Commenti

In alternativa all'implementazione dell'interfaccia IDownloadProgressChangedCallback , è possibile usare uno script per implementare una routine di callback di qualsiasi identificatore con DISPID 0 in un oggetto di automazione. Il tipo del parametro onProgressChanged è IUnknown*.

In alternativa all'implementazione dell'interfaccia IDownloadCompletedCallback , è possibile usare uno script per implementare una routine di callback di qualsiasi identificatore con DISPID 0 in un oggetto di automazione. Il tipo del parametro onCompleted è IUnknown*.

Questo metodo restituisce WU_E_INVALID_OPERATION se l'oggetto che implementa l'interfaccia è bloccato.

Questo metodo restituisce WU_E_NO_UPDATE se la proprietà Aggiornamenti dell'interfaccia IUpdateDownloader non è impostata. Questo metodo restituisce anche WU_E_NO_UPDATE se la proprietà Aggiornamenti è impostata su una raccolta vuota.

Questo metodo restituisce SUS_E_NOT_INITIALIZED se il processo di download non contiene aggiornamenti.

Quando si usa qualsiasi API WUA asincrona nell'app, potrebbe essere necessario implementare un meccanismo di timeout. Per altre informazioni su come eseguire operazioni WUA asincrone, vedere Linee guida per operazioni WUA asincrone.

Requisiti

Requisito Valore
Client minimo supportato Windows XP, Windows 2000 Professional con SP3 [solo app desktop]
Server minimo supportato Windows Server 2003, Windows 2000 Server con SP3 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione wuapi.h
Libreria Wuguid.lib
DLL Wuapi.dll

Vedi anche

IUpdateDownloader