Compartir a través de


Función QueryServiceConfig2A (winsvc.h)

Recupera los parámetros de configuración opcionales del servicio especificado.

Sintaxis

BOOL QueryServiceConfig2A(
  [in]            SC_HANDLE hService,
  [in]            DWORD     dwInfoLevel,
  [out, optional] LPBYTE    lpBuffer,
  [in]            DWORD     cbBufSize,
  [out]           LPDWORD   pcbBytesNeeded
);

Parámetros

[in] hService

Identificador del servicio. La función OpenService o CreateService devuelve este identificador y debe tener el derecho de acceso SERVICE_QUERY_CONFIG. Para obtener más información, consulte derechos de acceso y seguridad del servicio.

[in] dwInfoLevel

Información de configuración que se va a consultar. Este parámetro puede ser uno de los siguientes valores.

Valor Significado
SERVICE_CONFIG_DELAYED_AUTO_START_INFO
3
El parámetro lpInfo es un puntero a una estructura SERVICE_DELAYED_AUTO_START_INFO.

Windows Server 2003 y Windows XP: Este valor no se admite.

SERVICE_CONFIG_DESCRIPTION
1
El parámetro lpBuffer es un puntero a una estructura SERVICE_DESCRIPTION.
SERVICE_CONFIG_FAILURE_ACTIONS
2
El parámetro lpBuffer es un puntero a una estructura SERVICE_FAILURE_ACTIONS.
SERVICE_CONFIG_FAILURE_ACTIONS_FLAG
4
El parámetro lpInfo es un puntero a una estructura SERVICE_FAILURE_ACTIONS_FLAG.

Windows Server 2003 y Windows XP: Este valor no se admite.

SERVICE_CONFIG_PREFERRED_NODE
9
El parámetro lpInfo es un puntero a una estructura SERVICE_PREFERRED_NODE_INFO.

Windows Server 2008, Windows Vista, Windows Server 2003 y Windows XP: Este valor no se admite.

SERVICE_CONFIG_PRESHUTDOWN_INFO
7
El parámetro lpInfo es un puntero a una estructura SERVICE_PRESHUTDOWN_INFO.

Windows Server 2003 y Windows XP: Este valor no se admite.

SERVICE_CONFIG_REQUIRED_PRIVILEGES_INFO
6
El parámetro lpInfo es un puntero a una estructura SERVICE_REQUIRED_PRIVILEGES_INFO.

Windows Server 2003 y Windows XP: Este valor no se admite.

SERVICE_CONFIG_SERVICE_SID_INFO
5
El parámetro lpInfo es un puntero a una estructura SERVICE_SID_INFO.

Windows Server 2003 y Windows XP: Este valor no se admite.

SERVICE_CONFIG_TRIGGER_INFO
8
El parámetro lpInfo es un puntero a una estructura SERVICE_TRIGGER_INFO.

Windows Server 2008, Windows Vista, Windows Server 2003 y Windows XP: Este valor no se admite.

SERVICE_CONFIG_LAUNCH_PROTECTED
12
El parámetro lpInfo es un puntero a una estructura SERVICE_LAUNCH_PROTECTED_INFO.
Nota Este valor se admite a partir de Windows 8.1.
 

[out, optional] lpBuffer

Puntero al búfer que recibe la información de configuración del servicio. El formato de estos datos depende del valor del parámetro dwInfoLevel.

El tamaño máximo de esta matriz es de 8 000 bytes. Para determinar el tamaño necesario, especifique NULL para este parámetro y 0 para el parámetro cbBufSize. Se produce un error en la función y getLastError devuelve ERROR_INSUFFICIENT_BUFFER. El parámetro pcbBytesNeededed recibe el tamaño necesario.

[in] cbBufSize

Tamaño de la estructura a la que apunta el parámetro lpBuffer, en bytes.

[out] pcbBytesNeeded

Puntero a una variable que recibe el número de bytes necesarios para almacenar la información de configuración, si se produce un error en la función con ERROR_INSUFFICIENT_BUFFER.

Valor devuelto

Si la función se ejecuta correctamente, el valor devuelto es distinto de cero.

Si se produce un error en la función, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError.

El administrador de control de servicios puede establecer los siguientes códigos de error. Otros pueden establecerse mediante las funciones del Registro a las que llama el administrador de control de servicios.

Código devuelto Descripción
ERROR_ACCESS_DENIED
El identificador no tiene derecho de acceso SERVICE_QUERY_CONFIG.
ERROR_INSUFFICIENT_BUFFER
Hay más información de configuración del servicio que cabría en el búfer de lpBuffer. El número de bytes necesarios para obtener toda la información se devuelve en el parámetro pcbBytesNeededed. No se escribe nada en lpBuffer.
ERROR_INVALID_HANDLE
El identificador especificado no es válido.

Observaciones

La función QueryServiceConfig2 devuelve la información de configuración opcional almacenada en la base de datos del administrador de control de servicios para el servicio especificado. Puede cambiar esta información de configuración mediante la función ChangeServiceConfig2.

Puede cambiar y consultar información de configuración adicional mediante las funciones de ChangeServiceConfig y QueryServiceConfig, respectivamente.

Ejemplos

Para obtener un ejemplo, consulte Consulta de la configuración de un servicio.

Nota

El encabezado winsvc.h define QueryServiceConfig2 como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.

Requisitos

Requisito Valor
cliente mínimo admitido Windows XP [solo aplicaciones de escritorio]
servidor mínimo admitido Windows Server 2003 [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
encabezado de winsvc.h (incluya Windows.h)
biblioteca de Advapi32.lib
DLL de Advapi32.dll

Consulte también

ChangeServiceConfig

ChangeServiceConfig2

CreateService

OpenService

QueryServiceConfig de

queryServiceDynamicInformation de

QueryServiceObjectSecurity de

SERVICE_DELAYED_AUTO_START_INFO

SERVICE_DESCRIPTION

SERVICE_FAILURE_ACTIONS

SERVICE_FAILURE_ACTIONS_FLAG

SERVICE_PRESHUTDOWN_INFO

SERVICE_REQUIRED_PRIVILEGES_INFO

SERVICE_SID_INFO

de configuración del servicio

Funciones de servicio