Condividi tramite


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 il buffer non è sufficientemente grande da 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 di 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 di terminazione.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è un valore diverso da zero e la variabile a cui punta lpnSize contiene il numero di TCHAR copiati nel buffer specificato da lpBuffer, incluso il carattere null di terminazione.

Se la funzione ha esito negativo, il valore restituito è zero. Per ottenere informazioni estese sull'errore, chiamare GetLastError.

Osservazioni

Se il thread corrente rappresenta un altro client, la funzione GetUserName restituisce il nome utente del client rappresentato dal thread.

Se GetUserName viene chiamato da un processo in esecuzione con l'account "NETWORK SERVICE", la stringa restituita in lpBuffer potrebbe 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>$".

Esempi

Per un esempio, vedere Getting System Information.

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 del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

Requisito Valore
client minimo supportato Windows 2000 Professional [solo app desktop]
server minimo supportato Windows 2000 Server [solo app desktop]
piattaforma di destinazione Finestre
intestazione winbase.h (include Windows.h)
libreria Advapi32.lib
dll Advapi32.dll

Vedere anche

GetUserNameEx

LookupAccountName

funzioni di informazioni di sistema