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 qu’il est 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 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 une variable qui spécifie la taille de la mémoire tampon pointée par le paramètre lpServiceName, dans TCHAR. Lorsque la fonction est retournée, ce paramètre contient la taille du nom du service, dans 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 de retour
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’erreur étendues, 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 du 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 complet, utilisez la fonction GetServiceDisplayName. Pour mapper le nom complet au nom du service, utilisez la fonction GetServiceKeyName.
Note
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. 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 |