Compartir a través de


Función QueryServiceConfigA (winsvc.h)

Recupera los parámetros de configuración del servicio especificado. Los parámetros de configuración opcionales están disponibles mediante la función QueryServiceConfig2.

Sintaxis

BOOL QueryServiceConfigA(
  [in]            SC_HANDLE               hService,
  [out, optional] LPQUERY_SERVICE_CONFIGA lpServiceConfig,
  [in]            DWORD                   cbBufSize,
  [out]           LPDWORD                 pcbBytesNeeded
);

Parámetros

[in] hService

Identificador del servicio. El openService o función 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.

[out, optional] lpServiceConfig

Puntero a un búfer que recibe la información de configuración del servicio. El formato de los datos es una estructura QUERY_SERVICE_CONFIG.

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 producirá un error en la función y GetLastError devolverá ERROR_INSUFFICIENT_BUFFER. El parámetro pcbBytesNeededed recibirá el tamaño necesario.

[in] cbBufSize

Tamaño del búfer al que apunta el parámetro lpServiceConfig, en bytes.

[out] pcbBytesNeeded

Puntero a una variable que recibe el número de bytes necesarios para almacenar toda 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 lpServiceConfig. El número de bytes necesarios para obtener toda la información se devuelve en el parámetro pcbBytesNeededed. No se escribe nada en lpServiceConfig.
ERROR_INVALID_HANDLE
El identificador especificado no es válido.

Observaciones

La función QueryServiceConfig devuelve la información de configuración del servicio que se mantiene en el Registro para un servicio determinado. En primer lugar, un programa de control de servicio establece esta información de configuración mediante la función CreateService. Es posible que un programa de configuración de servicio haya actualizado esta información mediante la función ChangeServiceConfig.

Si el servicio se estaba ejecutando cuando se cambió por última vez la información de configuración, la información devuelta por QueryServiceConfig no reflejará la configuración actual del servicio. En su lugar, reflejará la configuración del servicio cuando se ejecute a continuación. La clave DisplayName es una excepción a esto. Cuando se cambia la clave DisplayName, surte efecto inmediatamente, independientemente de si el servicio se está ejecutando.

Ejemplos

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

Nota

El encabezado winsvc.h define QueryServiceConfig 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

CreateService

OpenService

QUERY_SERVICE_CONFIG

QueryServiceConfig2

queryServiceDynamicInformation de

QueryServiceObjectSecurity de

de configuración del servicio

Funciones de servicio