QUERY_SERVICE_CONFIGW estructura (winsvc.h)
Contiene información de configuración para un servicio instalado. La función QueryServiceConfig la usa.
Sintaxis
typedef struct _QUERY_SERVICE_CONFIGW {
DWORD dwServiceType;
DWORD dwStartType;
DWORD dwErrorControl;
LPWSTR lpBinaryPathName;
LPWSTR lpLoadOrderGroup;
DWORD dwTagId;
LPWSTR lpDependencies;
LPWSTR lpServiceStartName;
LPWSTR lpDisplayName;
} QUERY_SERVICE_CONFIGW, *LPQUERY_SERVICE_CONFIGW;
Miembros
dwServiceType
Tipo de servicio. Este miembro puede ser uno de los valores siguientes.
Si el valor es SERVICE_WIN32_OWN_PROCESS o SERVICE_WIN32_SHARE_PROCESS, y el servicio se ejecuta en el contexto de la cuenta LocalSystem, también se puede especificar el tipo siguiente.
Valor | Significado |
---|---|
|
El servicio puede interactuar con el escritorio.
Para obtener más información, consulte Interactive Services. |
dwStartType
Cuándo iniciar el servicio. Este miembro puede ser uno de los valores siguientes.
Valor | Significado |
---|---|
|
Un servicio iniciado automáticamente por el administrador de control de servicios durante el inicio del sistema. |
|
Un controlador de dispositivo iniciado por el cargador del sistema. Este valor solamente es válido para servicios de controladores. |
|
Un servicio iniciado por el administrador de control de servicios cuando un proceso llama a la función StartService . |
|
Un servicio que no se puede iniciar. Los intentos de iniciar el servicio dan como resultado el código de error ERROR_SERVICE_DISABLED. |
|
Un controlador de dispositivo iniciado por la función IoInitSystem . Este valor solamente es válido para servicios de controladores. |
dwErrorControl
Gravedad del error y acción realizada, si este servicio no se inicia. Este miembro puede ser uno de los valores siguientes.
lpBinaryPathName
Ruta de acceso completa al archivo binario del servicio.
La ruta de acceso también puede incluir argumentos para un servicio de inicio automático. Estos argumentos se pasan al punto de entrada de servicio (normalmente la función principal ).
lpLoadOrderGroup
Nombre del grupo de pedidos de carga al que pertenece este servicio. Si el miembro es NULL o una cadena vacía, el servicio no pertenece a un grupo de pedidos de carga.
El programa de inicio usa grupos de ordenación de carga para cargar grupos de servicios en un orden especificado con respecto a los demás grupos. La lista de grupos de ordenación de carga se encuentra en el siguiente valor del Registro:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ServiceGroupOrder
dwTagId
Valor de etiqueta único para este servicio en el grupo especificado por el parámetro lpLoadOrderGroup . Un valor de cero indica que no se ha asignado una etiqueta al servicio. Puede usar una etiqueta para ordenar el inicio del servicio dentro de un grupo de pedidos de carga especificando un vector de orden de etiqueta en el registro ubicado en:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GroupOrderList
Las etiquetas solo se evalúan para los servicios de tipo SERVICE_KERNEL_DRIVER y SERVICE_FILE_SYSTEM_DRIVER que tienen tipos de inicio SERVICE_BOOT_START o SERVICE_SYSTEM_START .
lpDependencies
Puntero a una matriz de nombres separados por null de servicios o grupos de ordenación de carga que deben iniciarse antes de este servicio. La matriz termina doblemente en null. Si el puntero es NULL o si apunta a una cadena vacía, el servicio no tiene dependencias. Si se especifica un nombre de grupo, debe tener como prefijo el carácter SC_GROUP_IDENTIFIER (definido en WinSvc.h) para diferenciarlo de un nombre de servicio, ya que los servicios y los grupos de servicios comparten el mismo espacio de nombres. La dependencia de un servicio significa que este servicio solo se puede ejecutar si el servicio del que depende está en ejecución. La dependencia de un grupo significa que este servicio se puede ejecutar si al menos un miembro del grupo se está ejecutando después de un intento de iniciar todos los miembros del grupo.
lpServiceStartName
Si el tipo de servicio es SERVICE_WIN32_OWN_PROCESS o SERVICE_WIN32_SHARE_PROCESS, este miembro es el nombre de la cuenta en la que se iniciará el proceso de servicio como cuando se ejecute. Este nombre puede tener el formato NombreDeUsuario de dominio\. Si la cuenta pertenece al dominio integrado, el nombre puede tener el formato .\UserName. El nombre también puede ser "LocalSystem" si el proceso se ejecuta en la cuenta localSystem.
Si el tipo de servicio es SERVICE_KERNEL_DRIVER o SERVICE_FILE_SYSTEM_DRIVER, este miembro es el nombre del objeto de controlador (es decir, \FileSystem\Rdr o \Driver\Xns) que el sistema de entrada y salida (E/S) usa para cargar el controlador de dispositivo. Si este miembro es NULL, el controlador se ejecutará con un nombre de objeto predeterminado creado por el sistema de E/S, en función del nombre del servicio.
lpDisplayName
Nombre para mostrar que usarán los programas de control de servicio para identificar el servicio. Esta cadena tiene una longitud máxima de 256 caracteres. El nombre se conserva entre mayúsculas y minúsculas en el administrador de control de servicios. Las comparaciones de nombres para mostrar siempre no distinguen mayúsculas de minúsculas.
Este parámetro puede especificar una cadena localizada con el formato siguiente:
@[Path]DLLName,-StrID
La cadena con identificador StrID se carga desde DLLName; la ruta de acceso es opcional. Para obtener más información, vea RegLoadMUIString.
Windows Server 2003 y Windows XP: Las cadenas localizadas no se admiten hasta Windows Vista.
Comentarios
La información de configuración de un servicio se especifica inicialmente cuando el servicio se crea mediante una llamada a la función CreateService . La información se puede modificar llamando a la función ChangeServiceConfig .
Ejemplos
Para obtener un ejemplo, consulte Consulta de la configuración de un servicio.
Nota
El encabezado winsvc.h define QUERY_SERVICE_CONFIG 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 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] |
Encabezado | winsvc.h (incluye Windows.h) |