Funzione SecLookupAccountName (ntifs.h)
SecLookupAccountName accetta un account come input e recupera un identificatore di sicurezza (SID) per l'account e il nome del dominio in cui è stato trovato l'account.
Sintassi
KSECDDDECLSPEC NTSTATUS SEC_ENTRY SecLookupAccountName(
[in] PUNICODE_STRING Name,
[in, out] PULONG SidSize,
[out] PSID Sid,
[out] PSID_NAME_USE NameUse,
[out] PULONG DomainSize,
[in_out, optional] PUNICODE_STRING ReferencedDomain
);
Parametri
[in] Name
Puntatore a una stringa Unicode che specifica il nome dell'account. Usare una stringa completa nel formato domain_name\user_name per assicurarsi che SecLookupAccountName trovi l'account nel dominio desiderato.
[in, out] SidSize
Puntatore a una variabile che specifica le dimensioni del buffer Sid . In input, questo valore specifica le dimensioni in byte del buffer sid di input. Se la funzione ha esito negativo perché il buffer è troppo piccolo o se SidSize è zero, questa variabile riceve le dimensioni del buffer necessarie. In caso di esito positivo, questa variabile contiene le dimensioni del Sid restituito.
[out] Sid
Puntatore a un buffer che riceve la struttura SID corrispondente al nome dell'account a cui fa riferimento il parametro Name . Se questo parametro è NULL, SidSize deve essere zero.
[out] NameUse
Puntatore a un tipo enumerato SID_NAME_USE che riceve il tipo dell'account.
[out] DomainSize
Puntatore a ULONG che riceve le dimensioni del parametro ReferencedDomain . Se la funzione ha esito negativo perché il buffer è troppo piccolo, questa variabile riceve le dimensioni del buffer necessarie. Se il parametro ReferencedDomain di input è NULL, questo parametro riceverà zero.
[in_out, optional] ReferencedDomain
Puntatore a un buffer per il nome del dominio in cui viene trovato il nome dell'account. Questo parametro è facoltativo e può essere NULL. Per i computer non aggiunti a un dominio, questo buffer riceve il nome del computer.
Valore restituito
SecLookupAccountName restituisce STATUS_SUCCESS all'esito positivo o a uno dei codici di errore seguenti in caso di errore.
Codice restituito | Descrizione |
---|---|
SEC_E_INTERNAL_ERROR | Si è verificato un errore interno durante il tentativo di connessione all'autorità di sistema locale (LSA) o alla chiamata di procedura locale (LPC) al provider di sicurezza non riuscito. |
STATUS_ACCESS_DENIED | L'ID processo associato al thread attualmente in esecuzione non corrisponde all'ID processo corrente. |
STATUS_BUFFER_TOO_SMALL | Le dimensioni del buffer per il sid o il parametro ReferencedDomain erano troppo piccole. |
STATUS_INVALID_PARAMETER | La lunghezza del parametro Name ha superato la lunghezza consentita in un messaggio all'autorità di sistema locale. |
STATUS_NONE_MAPPED | Impossibile trovare il parametro Name . |
STATUS_PROCESS_IS_TERMINATING | Questo processo è terminato in modo che non sia possibile stabilire la connessione LPC (Local Procedure Call). |
Commenti
SecLookupAccountName tenta di trovare un SID per il nome specificato. 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, i domini attendibili vengono controllati.
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 attendibili in modo esplicito, SecLookupAccountName può cercare il nome per qualsiasi account in qualsiasi dominio nella foresta.
SecLookupAccountName equivale alla funzione Win32 LookupAccountName .
SecLookupAccountName viene esportato dal driver ksecdd, che implementa questa funzione usando i servizi helper in modalità utente. Di conseguenza, l'uso di questa funzione all'interno di file system deve obbedire alle normali regole per la comunicazione con i servizi in modalità utente. Non è possibile usare SecLookupAccountName durante il paging del file di I/O.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP |
Piattaforma di destinazione | Universale |
Intestazione | ntifs.h (include Ntifs.h) |
Libreria | Ksecdd.lib |
IRQL | <= APC_LEVEL |