Freigeben über


IUpdateServiceManager2::AddService2-Methode (wuapi.h)

Registriert einen Dienst bei Windows Update Agent (WUA), ohne dass eine Autorisierungsschrankdatei (.cab) erforderlich ist. Diese Methode gibt auch einen Zeiger auf eine IUpdateServiceRegistration-Schnittstelle zurück.

Syntax

HRESULT AddService2(
  [in]  BSTR                       serviceID,
  [in]  LONG                       flags,
  [in]  BSTR                       authorizationCabPath,
  [out] IUpdateServiceRegistration **retval
);

Parameter

[in] serviceID

Ein Bezeichner für den zu registrierenden Dienst.

[in] flags

Eine Kombination von AddServiceFlag-Werten , die mithilfe eines bitweisen OR-Vorgangs kombiniert werden. Der resultierende Wert gibt Optionen für die Dienstregistrierung an. Weitere Informationen finden Sie unter Hinweise.

[in] authorizationCabPath

Der Pfad der von Microsoft signierten lokalen Ablagedatei (.cab), die die Informationen enthält, die für eine Dienstregistrierung erforderlich sind. Wenn leer ist, sucht der Update-Agent während der Dienstregistrierung nach der Autorisierungsschrankdatei (.cab), wenn eine Netzwerkverbindung verfügbar ist.

[out] retval

Ein Zeiger auf eine IUpdateServiceRegistration-Schnittstelle , die einen hinzugefügten Dienst darstellt.

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
E_INVALIDARG
Ein Parameterwert ist ungültig.
E_ACCESSDENIED
Diese Methode kann nicht von einem Remotecomputer aufgerufen werden, wenn der Parameter authorizationCabPath auf eine NULL-Zeichenfolge festgelegt ist.
WU_E_DS_SERVICEEXPIRED
Die Autorisierungsschrankdatei (.cab) ist abgelaufen.
WU_E_DS_INVALIDOPERATION
Der Status der automatischen Updates konnte nicht geändert werden.

Hinweise

Diese Methode gibt möglicherweise Netzwerkfehlercodes zurück, wenn das asfAllowOnlineRegistration-Flag angegeben ist.

Der AuthorizationCabPath-Parameter ist für diese Methode optional. Wenn der AuthorizationCabPath-Parameter nicht angegeben wird, wird er vom Windows Update-Server abgerufen.

Diese Methode gibt E_INVALIDARG zurück, wenn die Flags asfAllowOnlineRegistration oder asfAllowPendingRegistration angegeben werden und wenn der Wert des authorizationCabPath-Parameters keine leere Zeichenfolge ist.

Diese Methode gibt WU_E_DS_INVALIDOPERATION zurück, wenn die angeforderte Änderung des Status von Automatic Updates im Widerspruch zu den Spezifikationen in der Autorisierungsschrankdatei (.cab) steht, wenn das asfRegisterServiceWithAU-Flag angegeben wird. Wenn die Autorisierungsschrankdatei nicht signiert wurde, wird von der WinVerifyTrust-Funktion ein Fehler zurückgegeben.

Der Update-Agent und AddService2 verhalten sich in Abhängigkeit von den AddServiceFlag-Werten , die Sie im flags-Parameter angeben, wie folgt:

  • Wenn Sie asfAllowOnlineRegistration ohne asfAllowPendingRegistration angeben, versucht der Update-Agent sofort, online zu gehen, um den Dienst zu registrieren. AddService2 gibt einen HRESULT-Wert zurück, der den Erfolg oder Fehler der Registrierung widerspiegelt. Wenn die Registrierung fehlschlägt, unternimmt der Update-Agent keine weiteren Versuche, den Dienst zu registrieren.
  • Wenn Sie asfAllowPendingRegistration ohne asfAllowOnlineRegistration angeben, registriert der Update-Agent den Dienst nicht sofort. AddService2 gibt S_OK zurück, um anzugeben, dass der Update-Agent versucht, den Dienst zu einem späteren Zeitpunkt zu registrieren, was nicht garantiert, dass die Registrierung letztendlich erfolgreich ist.
  • Wenn Sie asfAllowPendingRegistration und asfAllowOnlineRegistration zusammen angeben, versucht der Update-Agent sofort, online zu gehen, um den Dienst zu registrieren. AddService2 gibt S_OK zurück, wenn die Registrierung erfolgreich ist. AddService2 gibt einen Fehler-HRESULT-Wert zurück, wenn die Registrierung fehlschlägt, aber der Update-Agent versucht weiterhin, den Dienst zu einem späteren Zeitpunkt zu registrieren.
  • Wenn Sie asfAllowPendingRegistration, asfAllowOnlineRegistration oder beides angeben, geben Sie auch NULL für den Parameter authorizationCabPath an.
  • Wenn Sie weder asfAllowPendingRegistration noch asfAllowOnlineRegistration angeben (mit anderen Worten, wenn flags entweder null oder asfRegisterServiceWithAU ist), müssen Sie im Parameter authorizationCabPath einen Pfad ohne NULL angeben. In diesem Modus verarbeitet AddService2 die Schrankdatei (.cab) und registriert den Dienst auf die gleiche Weise wie IUpdateServiceManager::AddService.
  • Wenn Sie asfRegisterServiceWithAU angeben, erfolgt die Änderung des Standardmäßigen automatischen Updates-Diensts erst dann (und wird in der Windows Update Benutzeroberfläche nicht widerspiegelt), bis die Dienstregistrierung erfolgreich ist. Dies bedeutet, dass die Automatische Updates Dienständerung auch sofort erfolgt, wenn die Registrierung sofort erfolgreich ist (weil Sie asfAllowPendingRegistration angegeben oder eine Schrankdatei (.cab) angegeben haben. Wenn die Registrierung erst später erfolgreich ist (weil Sie als "fAllowPendingRegistration" angegeben haben), erfolgt die Änderung des automatischen Updates-Diensts erst, wenn die ausstehende Dienstregistrierung schließlich erfolgreich ist.

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

IUpdateServiceManager2