Partager via


GetServiceKeyNameW, fonction (winsvc.h)

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

Syntaxe

BOOL GetServiceKeyNameW(
  [in]            SC_HANDLE hSCManager,
  [in]            LPCWSTR   lpDisplayName,
  [out, optional] LPWSTR    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 contiendra une chaîne vide.

La taille maximale de ce tableau est de 4 000 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 pointée vers 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 vers lpServiceName est trop petite pour contenir le nom du service, la fonction ne stocke aucune donnée dans celle-ci. Lorsque la fonction retourne, lpcchBuffer contient la taille du nom du service, à l’exclusion de la terminaison 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 d’affichage. 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\ServiceName\.

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

Notes

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

GetServiceDisplayName

OpenSCManager

Fonctions de service