Partager via


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

Voir aussi

GetUserNameEx

LookupAccountName

fonctions d’information système