Partager via


GetServiceKeyNameA, fonction (winsvc.h)

Récupère le nom du service spécifié.

Syntaxe

BOOL GetServiceKeyNameA(
  [in]            SC_HANDLE hSCManager,
  [in]            LPCSTR    lpDisplayName,
  [out, optional] LPSTR     lpServiceName,
  [in, out]       LPDWORD   lpcchBuffer
);

Paramètres

[in] hSCManager

Handle de la base de données du gestionnaire de contrôle de service de l’ordinateur, tel que retourné par OpenSCManager.

[in] lpDisplayName

Nom complet du service. Cette chaîne a une longueur maximale de 256 caractères.

[out, optional] lpServiceName

Pointeur vers une mémoire tampon qui reçoit le nom du service. Si la fonction échoue, cette mémoire tampon contient une chaîne vide.

La taille maximale de ce tableau est de 4 Ko octets. Pour déterminer la taille requise, spécifiez NULL pour ce paramètre et 0 pour le paramètre lpcchBuffer . La fonction échoue et GetLastError retourne ERROR_INSUFFICIENT_BUFFER. Le paramètre lpcchBuffer reçoit la taille requise.

[in, out] lpcchBuffer

Pointeur vers la variable qui spécifie la taille de la mémoire tampon vers laquelle pointe le paramètre lpServiceName , dans les TCHAR. Lorsque la fonction retourne, ce paramètre contient la taille du nom du service, en TCHAR, à l’exclusion du caractère de fin null.

Si la mémoire tampon pointée par lpServiceName est trop petite pour contenir le nom du service, la fonction ne stocke aucune donnée dans celle-ci. Lorsque la fonction est retournée, lpcchBuffer contient la taille du nom du service, à l’exclusion de la marque de fin NULL.

Valeur retournée

Si les fonctions réussissent, 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.

Remarques

Il existe deux noms pour un service : le nom du service et le nom complet. Le nom du service est le nom de la clé du service dans le Registre. Le nom d’affichage est un nom convivial qui apparaît dans l’application panneau de configuration Services et qui est utilisé avec la commande NET START . Les deux noms sont spécifiés avec la fonction CreateService et peuvent être modifiés avec la fonction ChangeServiceConfig . Les informations spécifiées pour un service sont stockées dans une clé portant le même nom que le nom du service sous la clé de Registre HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\ServiceName .

Pour mapper le nom du service au nom d’affichage, utilisez la fonction GetServiceDisplayName . Pour mapper le nom complet au nom du service, utilisez la fonction GetServiceKeyName .

Notes

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

GetServiceDisplayName

OpenSCManager

Fonctions de service