Condividi tramite


Funzione LookupAccountNameA (winbase.h)

La funzione LookupAccountName accetta il nome di un sistema e un account come input. Recupera un identificatore 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 un nullstringa di caratteri con terminazione che specifica il nome del sistema. Questa stringa può essere il nome di un computer remoto. Se questa stringa è NULL, la conversione 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 un nullstringa con terminazione 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 che corrisponde 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 di terminazione null. Se il parametro ReferencedDomainName è NULL, questo parametro deve essere zero.

[out] peUse

Puntatore a un SID_NAME_USE tipo enumerato che indica il tipo di 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.

Osservazioni

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 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 XP [app desktop | App UWP]
server minimo supportato Windows Server 2003 [app desktop | App UWP]
piattaforma di destinazione Finestre
intestazione winbase.h (include Windows.h)
libreria Advapi32.lib
dll Advapi32.dll

Vedere anche

Panoramica del controllo di accesso

funzioni di controllo di accesso di base

EqualPrefixSid

GetUserName

LookupAccountSid

LsaLookupNames2

SID

SID_NAME_USE