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 |
---|---|
|
El identificador no tiene derecho de acceso SERVICE_QUERY_CONFIG. |
|
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. |
|
El identificador especificado no es válido. |
Observaciones
La función QueryServiceConfig
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
queryServiceDynamicInformation de
QueryServiceObjectSecurity de
de configuración del servicio