Funzione LookupAccountNameA (winbase.h)
La funzione LookupAccountName accetta il nome di un sistema e un account come input. Recupera un ID di sicurezza (SID) per l'account e il nome del dominio in cui è stato trovato l'account.
La funzione LsaLookupNames può anche recuperare gli account computer.
Sintassi
BOOL LookupAccountNameA(
[in, optional] LPCSTR lpSystemName,
[in] LPCSTR lpAccountName,
[out, optional] PSID Sid,
[in, out] LPDWORD cbSid,
[out, optional] LPSTR ReferencedDomainName,
[in, out] LPDWORD cchReferencedDomainName,
[out] PSID_NAME_USE peUse
);
Parametri
[in, optional] lpSystemName
Puntatore a una stringa di caratteri con terminazione Null che specifica il nome del sistema. Questa stringa può essere il nome di un computer remoto. Se questa stringa è NULL, la traduzione del nome dell'account inizia nel sistema locale. Se il nome non può essere risolto nel sistema locale, questa funzione tenterà di risolvere il nome usando controller di dominio attendibili dal sistema locale. In genere, specificare un valore per lpSystemName solo quando l'account si trova in un dominio non attendibile e il nome di un computer in tale dominio è noto.
[in] lpAccountName
Puntatore a una stringa con terminazione Null che specifica il nome dell'account.
Usare una stringa completa nel formato domain_name\user_name per assicurarsi che LookupAccountName trovi l'account nel dominio desiderato.
[out, optional] Sid
Puntatore a un buffer che riceve la struttura SID corrispondente al nome dell'account a cui punta il parametro lpAccountName . Se questo parametro è NULL, cbSid deve essere zero.
[in, out] cbSid
Puntatore a una variabile. In input, questo valore specifica le dimensioni, in byte, del buffer Sid . Se la funzione ha esito negativo perché il buffer è troppo piccolo o se cbSid è zero, questa variabile riceve le dimensioni del buffer necessarie.
[out, optional] ReferencedDomainName
Puntatore a un buffer che riceve il nome del dominio in cui viene trovato il nome dell'account. Per i computer che non sono aggiunti a un dominio, questo buffer riceve il nome del computer. Se questo parametro è NULL, la funzione restituisce le dimensioni del buffer necessarie.
[in, out] cchReferencedDomainName
Puntatore a una variabile. In input, questo valore specifica le dimensioni, in TCHARs, del buffer ReferencedDomainName . Se la funzione ha esito negativo perché il buffer è troppo piccolo, questa variabile riceve le dimensioni del buffer necessarie, incluso il carattere null di terminazione. Se il parametro ReferencedDomainName è NULL, questo parametro deve essere zero.
[out] peUse
Puntatore a un SID_NAME_USE tipo enumerato che indica il tipo dell'account quando la funzione restituisce.
Valore restituito
Se la funzione ha esito positivo, la funzione restituisce un valore diverso da zero.
Se la funzione ha esito negativo, restituisce zero. Per informazioni sugli errori estesi, chiamare GetLastError.
Commenti
La funzione LookupAccountName tenta di trovare un SID per il nome specificato controllando prima un elenco di SID noti. Se il nome non corrisponde a un SID noto, la funzione controlla gli account locali predefiniti e definiti in modo amministrativo. Successivamente, la funzione controlla il dominio primario. Se il nome non viene trovato, vengono controllati i domini attendibili.
Usare nomi di account completi (ad esempio, domain_name\user_name) anziché nomi isolati (ad esempio, user_name). I nomi completi non sono ambigui e offrono prestazioni migliori quando viene eseguita la ricerca. Questa funzione supporta anche nomi DNS completi (ad esempio, example.example.com\user_name) e nomi di entità utente (UPN), ad esempio someone@example.com.
Oltre a cercare account locali, account di dominio locali e account di dominio esplicitamente attendibili, LookupAccountName può cercare il nome per qualsiasi account in qualsiasi dominio nella foresta.
Nota
L'intestazione winbase.h definisce LookupAccountName 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 che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP [app desktop | App UWP] |
Server minimo supportato | Windows Server 2003 [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | winbase.h (include Windows.h) |
Libreria | Advapi32.lib |
DLL | Advapi32.dll |
Vedi anche
Panoramica di Controllo di accesso