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. 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 de 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 pcbBytesNeeded 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 realiza correctamente, el valor devuelto es distinto de cero.

Si la función no se realiza correctamente, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError.

El administrador de controles de servicio puede establecer los siguientes códigos de error. Otras 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 lpServiceConfig . El número de bytes necesarios para obtener toda la información se devuelve en el parámetro pcbBytesNeeded . No se escribe nada en lpServiceConfig.
ERROR_INVALID_HANDLE
El identificador especificado no es válido.

Comentarios

La función QueryServiceConfig devuelve la información de configuración del servicio que se mantiene en el Registro para un servicio determinado. Esta información de configuración la establece primero un programa de control de servicio 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 un 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 neutro de codificación con código que no es neutral de codificación puede provocar discrepancias que dan lugar a errores de compilación o en tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado winsvc.h (incluye Windows.h)
Library Advapi32.lib
Archivo DLL Advapi32.dll

Consulte también

ChangeServiceConfig

CreateService

OpenService

QUERY_SERVICE_CONFIG

QueryServiceConfig2

QueryServiceDynamicInformation

QueryServiceObjectSecurity

Configuración de servicio

Funciones de servicio