GetUserNameA, fonction (winbase.h)
Récupère le nom de l’utilisateur associé au thread actuel.
Utilisez la fonction GetUserNameEx pour récupérer le nom d’utilisateur dans un format spécifié. Des informations supplémentaires sont fournies par l’interface IADsADSystemInfo.
Syntaxe
BOOL GetUserNameA(
[out] LPSTR lpBuffer,
[in, out] LPDWORD pcbBuffer
);
Paramètres
[out] lpBuffer
Pointeur vers la mémoire tampon pour recevoir le nom de connexion de l’utilisateur. Si cette mémoire tampon n’est pas suffisamment grande pour contenir l’intégralité du nom d’utilisateur, la fonction échoue. Une taille de mémoire tampon de caractères (UNLEN + 1) contiendra le nom d’utilisateur de longueur maximale, y compris le caractère null de fin. UNLEN est défini dans Lmcons.h.
[in, out] pcbBuffer
Lors de l’entrée, cette variable spécifie la taille de la mémoire tampon lpBuffer, dans TCHAR. En sortie, la variable reçoit le nombre d'TCHAR copiées dans la mémoire tampon, y compris le caractère null de fin.
Si lpBuffer est trop petit, la fonction échoue et GetLastError retourne ERROR_INSUFFICIENT_BUFFER. Ce paramètre reçoit la taille de mémoire tampon requise, y compris le caractère null de fin.
Valeur de retour
Si la fonction réussit, la valeur de retour est une valeur différente de zéro, et la variable pointée par lpnSize contient le nombre de TCHAR copiées dans la mémoire tampon spécifiée par lpBuffer, y compris le caractère null de fin.
Si la fonction échoue, la valeur de retour est égale à zéro. Pour obtenir des informations d’erreur étendues, appelez GetLastError.
Remarques
Si le thread actuel emprunte l’identité d’un autre client, la fonction GetUserName retourne le nom d’utilisateur du client que le thread emprunte l’identité.
Si GetUserName est appelé à partir d’un processus qui s’exécute sous le compte « NETWORK SERVICE », la chaîne retournée dans lpBuffer peut être différente en fonction de la version de Windows. Sur Windows XP, la chaîne « SERVICE RÉSEAU » est retournée. Sur Windows Vista, la chaîne «<HOSTNAME>$ » est retournée.
Exemples
Pour obtenir un exemple, consultez Obtention d’informations système.
Note
L’en-tête winbase.h définit GetUserName 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 2000 Professionnel [applications de bureau uniquement] |
serveur minimum pris en charge | Windows 2000 Server [applications de bureau uniquement] |
plateforme cible | Windows |
d’en-tête | winbase.h (inclure Windows.h) |
bibliothèque | Advapi32.lib |
DLL | Advapi32.dll |