Freigeben über


IUpdateDownloader::BeginDownload-Methode (wuapi.h)

Startet einen asynchronen Download der Inhaltsdateien, die den Updates zugeordnet sind.

Syntax

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

Parameter

[in] onProgressChanged

Eine IDownloadProgressChangedCallback-Schnittstelle , die regelmäßig aufgerufen wird, um den Downloadstatus zu ändern, bevor der Download abgeschlossen ist.

[in] onCompleted

Eine IDownloadCompletedCallback-Schnittstelle (C++/COM), die aufgerufen wird, wenn ein asynchroner Downloadvorgang abgeschlossen ist.

[in] state

Der aufruferspezifische Zustand, den die AsyncState-Eigenschaft der IDownloadJob-Schnittstelle zurückgibt. Ein Aufrufer kann diesen Parameter verwenden, um einen Wert an das Downloadauftragsobjekt anzufügen. Dadurch kann der Aufrufer benutzerdefinierte Informationen zu diesem Downloadauftragsobjekt zu einem späteren Zeitpunkt abrufen.

Hinweis  

Die AsyncState-Eigenschaft der IDownloadJob-Schnittstelle kann abgerufen, aber nicht festgelegt werden. Dies hindert den Aufrufer nicht daran, den Inhalt des Objekts zu ändern, das bereits auf die AsyncState-Eigenschaft der IDownloadJob-Schnittstelle festgelegt ist. Anders ausgedrückt: Wenn die AsyncState-Eigenschaft eine Zahl enthält, kann die Zahl nicht geändert werden. Wenn die AsyncState-Eigenschaft jedoch ein sicheres Array oder ein Objekt enthält, kann der Inhalt des sicheren Arrays oder des Objekts nach Bedarf geändert werden. Der Wert wird freigegeben, wenn der Aufrufer IDownloadJob durch Aufrufen von IUpdateDownloader::EndDownload freigibt.

 

[out] retval

Eine IDownloadJob-Schnittstelle , die die Eigenschaften und Methoden enthält, die für einen gestarteten Downloadvorgang verfügbar sind.

Rückgabewert

Gibt bei erfolgreicher Ausführung S_OK zurück. Andernfalls wird ein COM- oder Windows-Fehlercode zurückgegeben.

Diese Methode kann auch die folgenden Fehlercodes zurückgeben.

Rückgabecode Beschreibung
WU_E_INVALID_OPERATION
Der Computer kann nicht auf den Updatestandort zugreifen.
WU_E_NO_UPDATE
Der Windows Update-Agent (WUA) enthält keine Updates in der Sammlung.
WU_E_NOT_INITIALIZED
Der Windows Update-Agent (WUA) wird nicht initialisiert.

Hinweise

Alternativ zur Implementierung der IDownloadProgressChangedCallback-Schnittstelle können Sie ein Skript verwenden, um eine Rückrufroutine eines beliebigen Bezeichners mit DISPID 0 für ein Automatisierungsobjekt zu implementieren. Der Typ des onProgressChanged-Parameters ist IUnknown*.

Alternativ zur Implementierung der IDownloadCompletedCallback-Schnittstelle können Sie ein Skript verwenden, um eine Rückrufroutine eines beliebigen Bezeichners mit DISPID 0 für ein Automatisierungsobjekt zu implementieren. Der Typ des onCompleted-Parameters ist IUnknown*.

Diese Methode gibt WU_E_INVALID_OPERATION zurück, wenn das Objekt, das die Schnittstelle implementiert, gesperrt ist.

Diese Methode gibt WU_E_NO_UPDATE zurück, wenn die Updates-Eigenschaft der IUpdateDownloader-Schnittstelle nicht festgelegt ist. Diese Methode gibt auch WU_E_NO_UPDATE zurück, wenn die Updates-Eigenschaft auf eine leere Auflistung festgelegt ist.

Diese Methode gibt SUS_E_NOT_INITIALIZED zurück, wenn der Downloadauftrag keine Updates enthält.

Wenn Sie eine asynchrone WUA-API in Ihrer App verwenden, müssen Sie möglicherweise einen Timeoutmechanismus implementieren. Weitere Informationen zum Ausführen asynchroner WUA-Vorgänge finden Sie unter Richtlinien für asynchrone WUA-Vorgänge.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP, Windows 2000 Professional mit SP3 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003, Windows 2000 Server mit SP3 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile wuapi.h
Bibliothek Wuguid.lib
DLL Wuapi.dll

Weitere Informationen

IUpdateDownloader