Partager via


QueryServiceConfigA, fonction (winsvc.h)

Récupère les paramètres de configuration du service spécifié. Les paramètres de configuration facultatifs sont disponibles à l’aide de la fonction QueryServiceConfig2.

Syntaxe

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

Paramètres

[in] hService

Handle vers le 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.

[out, optional] lpServiceConfig

Pointeur vers une mémoire tampon qui reçoit les informations de configuration du service. Le format des données est une structure QUERY_SERVICE_CONFIG.

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 de octetsoctets reçoit la taille requise.

[in] cbBufSize

Taille de la mémoire tampon pointée par le paramètre lpServiceConfig, en octets.

[out] pcbBytesNeeded

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

Valeur de retour

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’erreur étendues, 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.

Retourner le code 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 le lpServiceConfig tampon. Le nombre d’octets requis pour obtenir toutes les informations est retourné dans le paramètre bytesNeededed. Rien n’est écrit dans lpServiceConfig.
ERROR_INVALID_HANDLE
Le handle spécifié n’est pas valide.

Remarques

La fonction QueryServiceConfig retourne les informations de configuration du service conservées dans le Registre pour un service particulier. Ces informations de configuration sont d’abord définies par un programme de contrôle de service à l’aide de la fonction CreateService. Ces informations ont peut-être été mises à jour par un programme de configuration de service à l’aide de la fonction ChangeServiceConfig.

Si le service s’exécutait lorsque les informations de configuration ont été modifiées pour la dernière fois, les informations retournées par QueryServiceConfig ne reflètent pas la configuration actuelle du service. Au lieu de cela, il reflète la configuration du service lors de la prochaine exécution. La clé DisplayName est une exception à ceci. Lorsque la clé DisplayName est modifiée, elle prend effet immédiatement, que le service soit en cours d’exécution.

Exemples

Pour obtenir un exemple, consultez interrogation de l'configuration d’un service.

Note

L’en-tête winsvc.h définit QueryServiceConfig 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.

Exigences

Exigence Valeur
client minimum pris en charge Windows XP [applications de bureau uniquement]
serveur minimum pris en charge Windows Server 2003 [applications de bureau uniquement]
plateforme cible Windows
d’en-tête winsvc.h (inclure Windows.h)
bibliothèque Advapi32.lib
DLL Advapi32.dll

Voir aussi

ChangeServiceConfig

CreateService

OpenService

QUERY_SERVICE_CONFIG

QueryServiceConfig2

QueryServiceDynamicInformation

QueryServiceObjectSecurity

de configuration du service

Fonctions de service