Condividi tramite


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

Funzioni Controllo di accesso di base

EqualPrefixSid

GetUserName

Lookupaccountsid

LsaLookupNames2

SID

SID_NAME_USE