Compartir a través de


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

Registra un servicio con Windows Update Agent (WUA) sin necesidad de un archivo de gabinete de autorización (.cab). Este método también devuelve un puntero a una interfaz IUpdateServiceRegistration .

Sintaxis

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

Parámetros

[in] serviceID

Identificador del servicio que se va a registrar.

[in] flags

Combinación de valores AddServiceFlag que se combinan mediante una operación OR bit a bit. El valor resultante especifica opciones para el registro del servicio. Para obtener más información, consulta Comentarios.

[in] authorizationCabPath

Ruta de acceso del archivo de gabinete local firmado por Microsoft (.cab) que tiene la información necesaria para un registro de servicio. Si está vacío, el agente de actualización busca el archivo de gabinete de autorización (.cab) durante el registro del servicio cuando hay disponible una conexión de red.

[out] retval

Puntero a una interfaz IUpdateServiceRegistration que representa un servicio agregado.

Valor devuelto

Devuelve S_OK si se ejecuta correctamente. De lo contrario, devuelve un código de error COM o Windows.

Este método también puede devolver los siguientes códigos de error.

Código devuelto Descripción
E_INVALIDARG
Un valor de parámetro no es válido.
E_ACCESSDENIED
No se puede llamar a este método desde un equipo remoto si el parámetro authorizationCabPath está establecido en una cadena nula.
WU_E_DS_SERVICEEXPIRED
El archivo de gabinete de autorización (.cab) ha expirado.
WU_E_DS_INVALIDOPERATION
No se pudo cambiar el estado de La Novedades automática.

Comentarios

Este método puede devolver códigos de error de red cuando se especifica la marca asfAllowOnlineRegistration .

El parámetro authorizationCabPath es opcional para este método. Si no se especifica el parámetro authorizationCabPath, se recuperará del servidor de Windows Update.

Este método devuelve E_INVALIDARG si se especifican las marcas asfAllowOnlineRegistration o asfAllowPendingRegistration y si el valor del parámetro authorizationCabPath no es una cadena vacía.

Este método devuelve WU_E_DS_INVALIDOPERATION si el cambio solicitado en el estado de Automatic Novedades es contrario a las especificaciones del archivo de gabinete de autorización (.cab) cuando se especifica la marca asfRegisterServiceWithAU. La función WinVerifyTrust devuelve un error si no se ha firmado el archivo del gabinete de autorización.

El agente de actualización y AddService2 se comportan de las siguientes maneras en función de los valores AddServiceFlag que especifique en el parámetro flags :

  • Si especifica asfAllowOnlineRegistration sin asfAllowPendingRegistration, el agente de actualización intenta conectarse inmediatamente para registrar el servicio. AddService2 devuelve un valor HRESULT que refleja el éxito o error del registro. Si se produce un error en el registro, el agente de actualización no realiza ningún intento futuro de registrar el servicio.
  • Si especifica asfAllowPendingRegistration sin asfAllowOnlineRegistration, el agente de actualización no registra el servicio inmediatamente. AddService2 devuelve S_OK para indicar que el agente de actualización intentará registrar el servicio más adelante, lo que no garantiza que el registro se realice correctamente.
  • Si especifica asfAllowPendingRegistration y asfAllowOnlineRegistration juntos, el agente de actualización intenta conectarse inmediatamente para registrar el servicio. AddService2 devuelve S_OK si el registro se realiza correctamente. AddService2 devuelve un valor HRESULT de error si se produce un error en el registro, pero el agente de actualización sigue intentando registrar el servicio más adelante.
  • Si especifica asfAllowPendingRegistration, asfAllowOnlineRegistration o ambos, especifique también NULL para el parámetro authorizationCabPath .
  • Si no especifica asfAllowPendingRegistration ni asfAllowOnlineRegistration (es decir, si las marcas son cero o asfRegisterServiceWithAU), debe especificar una ruta que no sea NULL en el parámetro authorizationCabPath . En este modo, AddService2 procesa el archivo de gabinete (.cab) y registra el servicio de la misma manera que IUpdateServiceManager::AddService.
  • Si especifica asfRegisterServiceWithAU, el cambio al servicio automático predeterminado de Novedades no se produce (y no se refleja en la interfaz de usuario de Windows Update) hasta que el registro del servicio se realice correctamente. Esto significa que si el registro se realiza correctamente inmediatamente (porque especificó asfAllowPendingRegistration o proporcionó un archivo de gabinete (.cab)), el cambio automático del servicio de Novedades también se produce inmediatamente. Si el registro no se realiza correctamente hasta más adelante (porque especificó asfAllowPendingRegistration), el cambio automático del servicio Novedades no se produce a menos que el registro de servicio pendiente se realice correctamente.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP, Windows 2000 Professional con SP3 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003, Windows 2000 Server con SP3 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado wuapi.h
Library Wuguid.lib
Archivo DLL Wuapi.dll

Consulte también

IUpdateServiceManager2