Partager via


GetUserNameA, fonction (winbase.h)

Récupère le nom de l’utilisateur associé au thread actif.

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 d’ouverture de session de l’utilisateur. Si cette mémoire tampon n’est pas assez grande pour contenir le nom d’utilisateur entier, la fonction échoue. Une taille de mémoire tampon de caractères (UNLEN + 1) contient la longueur maximale du nom d’utilisateur, y compris le caractère null de fin. UNLEN est défini dans Lmcons.h.

[in, out] pcbBuffer

En entrée, cette variable spécifie la taille de la mémoire tampon lpBuffer , en TCHAR. Lors de la sortie, la variable reçoit le nombre de TCHAR copiés 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 retournée

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és 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étaillées sur l’erreur, 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.

Si GetUserName est appelé à partir d’un processus qui s’exécute sous le compte « SERVICE RÉSEAU », 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.

Notes

L’en-tête winbase.h définit GetUserName 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

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête winbase.h (inclure Windows.h)
Bibliothèque Advapi32.lib
DLL Advapi32.dll

Voir aussi

GetUserNameEx

LookupAccountName

Fonctions d’information système