Metodo IUpdateServiceManager2::AddService2 (wuapi.h)

Registra un servizio con Windows Update Agent (WUA) senza richiedere un file di archivio di autorizzazione (.cab). Questo metodo restituisce anche un puntatore a un'interfaccia IUpdateServiceRegistration .

Sintassi

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

Parametri

[in] serviceID

Identificatore per la registrazione del servizio.

[in] flags

Combinazione di valori AddServiceFlag combinati usando un'operazione OR bit per bit. Il valore risultante specifica le opzioni per la registrazione del servizio. Per altre informazioni, vedere Osservazioni.

[in] authorizationCabPath

Percorso del file del gabinetto locale firmato da Microsoft (.cab) che contiene le informazioni necessarie per una registrazione del servizio. Se vuoto, l'agente di aggiornamento cerca il file di archivio di autorizzazione (.cab) durante la registrazione del servizio quando è disponibile una connessione di rete.

[out] retval

Puntatore a un'interfaccia IUpdateServiceRegistration che rappresenta un servizio aggiunto.

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
E_INVALIDARG
Un valore di parametro non è valido.
E_ACCESSDENIED
Questo metodo non può essere chiamato da un computer remoto se il parametro authorizationCabPath è impostato su una stringa Null.
WU_E_DS_SERVICEEXPIRED
Il file di archivio di autorizzazione (.cab) è scaduto.
WU_E_DS_INVALIDOPERATION
Impossibile modificare lo stato dell'Aggiornamenti automatico.

Commenti

Questo metodo può restituire codici di errore di rete quando viene specificato il flag asfAllowOnlineRegistration .

Il parametro authorizationCabPath è facoltativo per questo metodo. Se il parametro authorizationCabPath non è specificato, verrà recuperato dal server di Windows Update.

Questo metodo restituisce E_INVALIDARG se vengono specificati i flag asfAllowOnlineRegistration o asfAllowPendingRegistration e se il valore del parametro authorizationCabPath non è una stringa vuota.

Questo metodo restituisce WU_E_DS_INVALIDOPERATION se lo stato richiesto del Aggiornamenti automatico è contrario alle specifiche nel file del gabinetto di autorizzazione (.cab) quando viene specificato il flag asfRegisterServiceWithAU. Viene restituito un errore dalla funzione WinVerifyTrust se il file di cabinet di autorizzazione non è stato firmato.

L'agente di aggiornamento e AddService2 si comportano nei modi seguenti a seconda dei valori AddServiceFlag specificati nel parametro flag :

  • Se si specifica asfAllowOnlineRegistration senza asfAllowPendingRegistration , l'agente di aggiornamento tenta immediatamente di accedere online per registrare il servizio. AddService2 restituisce un valore HRESULT che riflette l'esito positivo o negativo della registrazione. Se la registrazione ha esito negativo, l'agente di aggiornamento non tenta in futuro di registrare il servizio.
  • Se si specifica asfAllowPendingRegistration senza asfAllowOnlineRegistration, l'agente di aggiornamento non registra immediatamente il servizio. AddService2 restituisce S_OK per indicare che l'agente di aggiornamento tenterà di registrare il servizio in un secondo momento, che non garantisce che la registrazione avrà esito positivo.
  • Se si specifica asfAllowPendingRegistration e asfAllowOnlineRegistration insieme, l'agente di aggiornamento tenta immediatamente di accedere online per registrare il servizio. AddService2 restituisce S_OK se la registrazione ha esito positivo. AddService2 restituisce un valore HRESULT di errore se la registrazione ha esito negativo, ma l'agente di aggiornamento tenta comunque di registrare il servizio in un secondo momento.
  • Se si specifica asfAllowPendingRegistration, asfAllowOnlineRegistration o entrambi, specificare anche NULL per il parametro authorizationCabPath.
  • Se non si specificano asfAllowPendingRegistrationasfAllowOnlineRegistration (in altre parole, se i flag sono zero o asfRegisterServiceWithAU), è necessario specificare un percorso non NULL nel parametro authorizationCabPath . In questa modalità AddService2 elabora il file cabinet (.cab) e registra il servizio nello stesso modo di IUpdateServiceManager::AddService.
  • Se si specifica asfRegisterServiceWithAU, la modifica al servizio Automatico Aggiornamenti predefinito non si verifica (e non viene riflessa nell'interfaccia utente Windows Update) finché la registrazione del servizio non riesce. Ciò significa che se la registrazione ha esito positivo immediatamente (perché è stato specificato asfAllowPendingRegistration o fornito un file di cabinet (.cab)), la modifica automatica del servizio Aggiornamenti si verifica immediatamente. Se la registrazione non riesce fino a un secondo momento (perché è stata specificata asfAllowPendingRegistration), la modifica automatica del servizio di Aggiornamenti non si verifica a meno che la registrazione del servizio in sospeso non riesca.

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

IUpdateServiceManager2