Share via


Méthode IUpdateServiceManager2 ::AddService2 (wuapi.h)

Inscrit un service auprès de Windows Update Agent (WUA) sans nécessiter de fichier d’armoire d’autorisation (.cab). Cette méthode retourne également un pointeur vers une interface IUpdateServiceRegistration .

Syntaxe

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

Paramètres

[in] serviceID

Identificateur du service à inscrire.

[in] flags

Combinaison de valeurs AddServiceFlag combinées à l’aide d’une opération OR au niveau du bit. La valeur résultante spécifie les options d’inscription du service. Pour plus d’informations, consultez Remarques.

[in] authorizationCabPath

Chemin du fichier d’armoire locale signé par Microsoft (.cab) qui contient les informations requises pour l’inscription d’un service. S’il est vide, l’agent de mise à jour recherche le fichier d’armoire d’autorisation (.cab) lors de l’inscription du service lorsqu’une connexion réseau est disponible.

[out] retval

Pointeur vers une interface IUpdateServiceRegistration qui représente un service ajouté.

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
E_INVALIDARG
Une valeur de paramètre n’est pas valide.
E_ACCESSDENIED
Cette méthode ne peut pas être appelée à partir d’un ordinateur distant si le paramètre authorizationCabPath est défini sur une chaîne null.
WU_E_DS_SERVICEEXPIRED
Le fichier d’armoire d’autorisation (.cab) a expiré.
WU_E_DS_INVALIDOPERATION
L’état de l’Mises à jour automatique n’a pas pu être modifié.

Remarques

Cette méthode peut retourner des codes d’erreur réseau lorsque l’indicateur asfAllowOnlineRegistration est spécifié.

Le paramètre authorizationCabPath est facultatif pour cette méthode. Si le paramètre authorizationCabPath n’est pas spécifié, il est récupéré à partir du serveur Windows Update.

Cette méthode retourne E_INVALIDARG si les indicateurs asfAllowOnlineRegistration ou asfAllowPendingRegistration sont spécifiés et si la valeur du paramètre authorizationCabPath n’est pas une chaîne vide.

Cette méthode retourne WU_E_DS_INVALIDOPERATION si la modification demandée de l’état de l’Mises à jour automatique est contraire aux spécifications du fichier d’armoire d’autorisation (.cab) lorsque l’indicateur asfRegisterServiceWithAU est spécifié. Une erreur est retournée par la fonction WinVerifyTrust si le fichier d’armoire d’autorisation n’a pas été signé.

L’agent de mise à jour et AddService2 se comportent de la manière suivante en fonction des valeurs AddServiceFlag que vous spécifiez dans le paramètre flags :

  • Si vous spécifiez asfAllowOnlineRegistration sans asfAllowPendingRegistration, l’agent de mise à jour tente immédiatement de se connecter pour inscrire le service. AddService2 retourne une valeur HRESULT qui reflète la réussite ou l’échec de l’inscription. Si l’inscription échoue, l’agent de mise à jour n’effectue aucune tentative ultérieure d’inscription du service.
  • Si vous spécifiez asfAllowPendingRegistration sans asfAllowOnlineRegistration, l’agent de mise à jour n’inscrit pas immédiatement le service. AddService2 retourne S_OK pour indiquer que l’agent de mise à jour tentera d’inscrire le service ultérieurement, ce qui ne garantit pas la réussite de l’inscription.
  • Si vous spécifiez asfAllowPendingRegistration et asfAllowOnlineRegistration ensemble, l’agent de mise à jour tente immédiatement de se connecter pour inscrire le service. AddService2 retourne S_OK si l’inscription réussit. AddService2 retourne une valeur HRESULT d’échec si l’inscription échoue, mais l’agent de mise à jour tente toujours d’inscrire le service ultérieurement.
  • Si vous spécifiez asfAllowPendingRegistration, asfAllowOnlineRegistration ou les deux, spécifiez également NULL pour le paramètre authorizationCabPath .
  • Si vous ne spécifiez ni asfAllowPendingRegistration ni asfAllowOnlineRegistration (en d’autres termes, si les indicateurs ont la valeur zéro ou asfRegisterServiceWithAU), vous devez spécifier un chemin d’accès non NULL dans le paramètre authorizationCabPath . Dans ce mode, AddService2 traite le fichier d’armoire (.cab) et inscrit le service de la même manière que IUpdateServiceManager ::AddService.
  • Si vous spécifiez asfRegisterServiceWithAU, la modification du service d’Mises à jour automatique par défaut ne se produit pas (et n’est pas reflétée dans l’interface utilisateur Windows Update) tant que l’inscription du service n’a pas réussi. Cela signifie que si l’inscription réussit immédiatement (parce que vous avez spécifié asfAllowPendingRegistration ou fourni un fichier d’armoire (.cab)), la modification automatique du service Mises à jour se produit également immédiatement. Si l’inscription n’aboutit que plus tard (parce que vous avez spécifié asfAllowPendingRegistration), la modification automatique du service Mises à jour ne se produit pas, sauf si l’inscription du service en attente réussit finalement.

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

IUpdateServiceManager2