Fonction QueryServiceConfig2A (winsvc.h)

Récupère les paramètres de configuration facultatifs du service spécifié.

Syntaxe

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

Paramètres

[in] hService

Handle du service. Ce handle est retourné par la fonction OpenService ou CreateService et doit disposer du droit d’accès SERVICE_QUERY_CONFIG . Pour plus d’informations, consultez Sécurité des services et droits d’accès.

[in] dwInfoLevel

Informations de configuration à interroger. Ce paramètre peut prendre les valeurs suivantes.

Valeur Signification
SERVICE_CONFIG_DELAYED_AUTO_START_INFO
3
Le paramètre lpInfo est un pointeur vers une structure SERVICE_DELAYED_AUTO_START_INFO .

Windows Server 2003 et Windows XP : Cette valeur n’est pas prise en charge.

SERVICE_CONFIG_DESCRIPTION
1
Le paramètre lpBuffer est un pointeur vers une structure SERVICE_DESCRIPTION .
SERVICE_CONFIG_FAILURE_ACTIONS
2
Le paramètre lpBuffer est un pointeur vers une structure SERVICE_FAILURE_ACTIONS .
SERVICE_CONFIG_FAILURE_ACTIONS_FLAG
4
Le paramètre lpInfo est un pointeur vers une structure SERVICE_FAILURE_ACTIONS_FLAG .

Windows Server 2003 et Windows XP : Cette valeur n’est pas prise en charge.

SERVICE_CONFIG_PREFERRED_NODE
9
Le paramètre lpInfo est un pointeur vers une structure SERVICE_PREFERRED_NODE_INFO .

Windows Server 2008, Windows Vista, Windows Server 2003 et Windows XP : Cette valeur n’est pas prise en charge.

SERVICE_CONFIG_PRESHUTDOWN_INFO
7
Le paramètre lpInfo est un pointeur vers une structure SERVICE_PRESHUTDOWN_INFO .

Windows Server 2003 et Windows XP : Cette valeur n’est pas prise en charge.

SERVICE_CONFIG_REQUIRED_PRIVILEGES_INFO
6
Le paramètre lpInfo est un pointeur vers une structure SERVICE_REQUIRED_PRIVILEGES_INFO .

Windows Server 2003 et Windows XP : Cette valeur n’est pas prise en charge.

SERVICE_CONFIG_SERVICE_SID_INFO
5
Le paramètre lpInfo est un pointeur vers une structure SERVICE_SID_INFO .

Windows Server 2003 et Windows XP : Cette valeur n’est pas prise en charge.

SERVICE_CONFIG_TRIGGER_INFO
8
Le paramètre lpInfo est un pointeur vers une structure SERVICE_TRIGGER_INFO .

Windows Server 2008, Windows Vista, Windows Server 2003 et Windows XP : Cette valeur n’est pas prise en charge.

SERVICE_CONFIG_LAUNCH_PROTECTED
12
Le paramètre lpInfo est un pointeur SERVICE_LAUNCH_PROTECTED_INFO structure.
Note Cette valeur est prise en charge à partir de Windows 8.1.
 

[out, optional] lpBuffer

Pointeur vers la mémoire tampon qui reçoit les informations de configuration du service. Le format de ces données dépend de la valeur du paramètre dwInfoLevel .

La taille maximale de ce tableau est de 8 000 octets. Pour déterminer la taille requise, spécifiez NULL pour ce paramètre et 0 pour le paramètre cbBufSize . La fonction échoue et GetLastError retourne ERROR_INSUFFICIENT_BUFFER. Le paramètre pcbBytesNeeded reçoit la taille nécessaire.

[in] cbBufSize

Taille de la structure pointée vers le paramètre lpBuffer , en octets.

[out] pcbBytesNeeded

Pointeur vers une variable qui reçoit le nombre d’octets requis pour stocker les informations de configuration, si la fonction échoue avec ERROR_INSUFFICIENT_BUFFER.

Valeur retournée

Si la fonction réussit, la valeur de retour est différente de zéro.

Si la fonction échoue, la valeur de retour est égale à zéro. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.

Les codes d’erreur suivants peuvent être définis par le gestionnaire de contrôle de service. D’autres peuvent être définies par les fonctions de Registre appelées par le gestionnaire de contrôle de service.

Code de retour Description
ERROR_ACCESS_DENIED
Le handle n’a pas le droit d’accès SERVICE_QUERY_CONFIG .
ERROR_INSUFFICIENT_BUFFER
Il existe plus d’informations de configuration de service que ne le feraient dans la mémoire tampon lpBuffer . Le nombre d’octets requis pour obtenir toutes les informations est retourné dans le paramètre pcbBytesNeeded. Rien n’est écrit dans lpBuffer.
ERROR_INVALID_HANDLE
Le handle spécifié n’est pas valide.

Remarques

La fonction QueryServiceConfig2 retourne les informations de configuration facultatives stockées dans la base de données du gestionnaire de contrôle de service pour le service spécifié. Vous pouvez modifier ces informations de configuration à l’aide de la fonction ChangeServiceConfig2 .

Vous pouvez modifier et interroger des informations de configuration supplémentaires à l’aide des fonctions ChangeServiceConfig et QueryServiceConfig , respectivement.

Exemples

Pour obtenir un exemple, consultez Interrogation de la configuration d’un service.

Notes

L’en-tête winsvc.h définit QueryServiceConfig2 comme alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Configuration requise

   
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête winsvc.h (inclure Windows.h)
Bibliothèque Advapi32.lib
DLL Advapi32.dll

Voir aussi

ChangeServiceConfig

ChangeServiceConfig2

CreateService

OpenService

QueryServiceConfig

QueryServiceDynamicInformation

QueryServiceObjectSecurity

SERVICE_DELAYED_AUTO_START_INFO

SERVICE_DESCRIPTION

SERVICE_FAILURE_ACTIONS

SERVICE_FAILURE_ACTIONS_FLAG

SERVICE_PRESHUTDOWN_INFO

SERVICE_REQUIRED_PRIVILEGES_INFO

SERVICE_SID_INFO

Configuration de service

Fonctions de service