Condividi tramite


Funzione GetUserNameExA (secext.h)

Recupera il nome dell'utente o di un'altra entità di sicurezza associata al thread chiamante. È possibile specificare il formato del nome restituito.

Se il thread rappresenta un client, GetUserNameEx restituisce il nome del client.

Sintassi

BOOLEAN SEC_ENTRY GetUserNameExA(
  [in]      EXTENDED_NAME_FORMAT NameFormat,
  [out]     LPSTR                lpNameBuffer,
  [in, out] PULONG               nSize
);

Parametri

[in] NameFormat

Formato del nome. Questo parametro è un valore del tipo di enumerazione EXTENDED_NAME_FORMAT. Non può essere NameUnknown. Se l'account utente non si trova in un dominio, è supportato solo NameSamCompatible.

[out] lpNameBuffer

Puntatore a un buffer che riceve il nome nel formato specificato. Il buffer deve includere spazio per il carattere Null di terminazione.

[in, out] nSize

In input questa variabile specifica le dimensioni del buffer lpNameBuffer, in TCHARs. Se la funzione ha esito positivo, la variabile riceve il numero di TCHAR copiato nel buffer, senza includere il carattere Null di terminazione.

Se lpNameBuffer è troppo piccolo, la funzione ha esito negativo e GetLastError restituisce ERROR_MORE_DATA. Questo parametro riceve le dimensioni del buffer necessarie, in caratteri Unicode (indipendentemente dal fatto che sia in uso Unicode), incluso il carattere Null di terminazione.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è un valore diverso da zero.

Se la funzione ha esito negativo, il valore restituito è zero. Per ottenere informazioni estese sull'errore, chiamare GetLastError. I valori possibili includono quanto segue.

Codice restituito Descrizione
ERROR_MORE_DATA
Il buffer lpNameBuffer è troppo piccolo. Il parametro lpnSize contiene il numero di byte necessari per ricevere il nome.
ERROR_NO_SUCH_DOMAIN
Il controller di dominio non è disponibile per eseguire la ricerca
ERROR_NONE_MAPPED
Il nome utente non è disponibile nel formato specificato.

Osservazioni

Nota

L'intestazione secext.h definisce GetUserNameEx 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 secext.h (include Security.h)
libreria Secur32.lib
dll Secur32.dll

Vedere anche

EXTENDED_NAME_FORMAT

LookupAccountName

funzioni di informazioni di sistema