Funzione GetUserNameA (winbase.h)
Recupera il nome dell'utente associato al thread corrente.
Usare la funzione GetUserNameEx per recuperare il nome utente in un formato specificato. Altre informazioni vengono fornite dall'interfaccia IADsADSystemInfo .
Sintassi
BOOL GetUserNameA(
[out] LPSTR lpBuffer,
[in, out] LPDWORD pcbBuffer
);
Parametri
[out] lpBuffer
Puntatore al buffer per ricevere il nome di accesso dell'utente. Se questo buffer non è abbastanza grande per contenere l'intero nome utente, la funzione ha esito negativo. Una dimensione del buffer di caratteri (UNLEN + 1) conterrà il nome utente di lunghezza massima, incluso il carattere Null di terminazione. UNLEN è definito in Lmcons.h.
[in, out] pcbBuffer
In input, questa variabile specifica le dimensioni del buffer lpBuffer , in TCHAR. Nell'output la variabile riceve il numero di TCHAR copiati nel buffer, incluso il carattere Null di terminazione.
Se lpBuffer è troppo piccolo, la funzione ha esito negativo e GetLastError restituisce ERROR_INSUFFICIENT_BUFFER. Questo parametro riceve le dimensioni del buffer necessarie, incluso il carattere null terminante.
Valore restituito
Se la funzione ha esito positivo, il valore restituito è un valore diverso da zero e la variabile a cui fa riferimento lpnSize contiene il numero di TCHAR copiati nel buffer specificato da lpBuffer, incluso il carattere null terminante.
Se la funzione ha esito negativo, il valore restituito è zero. Per informazioni dettagliate sull'errore, chiamare GetLastError.
Commenti
Se il thread corrente rappresenta un altro client, la funzione GetUserName restituisce il nome utente del client che il thread rappresenta.
Se GetUserName viene chiamato da un processo in esecuzione nell'account "SERVIZIO RETE", la stringa restituita in lpBuffer può essere diversa a seconda della versione di Windows. In Windows XP viene restituita la stringa "NETWORK SERVICE". In Windows Vista viene restituita la stringa "<HOSTNAME>$".
Esempio
Per un esempio, vedere Recupero delle informazioni di sistema.
Nota
L'intestazione winbase.h definisce GetUserName come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | winbase.h (include Windows.h) |
Libreria | Advapi32.lib |
DLL | Advapi32.dll |