Funzione SecLookupAccountName (ntifs.h)
SecLookupAccountName accetta un account come input e recupera un ID 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 di input Sid. 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 dell'oggetto restituito Sid.
[out] Sid
Puntatore a un buffer che riceve la struttura SID che corrisponde al nome dell'account a cui punta il parametro Nome
[out] NameUse
Puntatore a un tipo enumerato SID_NAME_USE che riceve il tipo di account.
[out] DomainSize
Puntatore a 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 l'input parametro ReferencedDomain è 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 che non sono aggiunti a un dominio, questo buffer riceve il nome del computer.
Valore restituito
secLookupAccountName restituisce STATUS_SUCCESS in caso di esito positivo o 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 del processo associato al thread attualmente in esecuzione non corrisponde all'ID del processo corrente. |
STATUS_BUFFER_TOO_SMALL | Le dimensioni del buffer per il Sid |
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 Nome |
STATUS_PROCESS_IS_TERMINATING | Questo processo è stato terminato in modo che non sia possibile stabilire la connessione LPC (Local Procedure Call). |
Osservazioni
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, 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 i nomi DNS completi (ad esempio, example.example.com\user_name) e i nomi delle entità utente (UPN), ad esempio someone@example.com).
Oltre a cercare account locali, account di dominio locali e account di dominio esplicitamente attendibili, SecLookupAccountName può cercare il nome per qualsiasi account in qualsiasi dominio nella foresta.
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 rispettare le normali regole per la comunicazione con i servizi in modalità utente. non è possibile utilizzare SecLookupAccountName durante l'I/O del file di paging.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows XP |
piattaforma di destinazione | Universale |
intestazione |
ntifs.h (include Ntifs.h) |
libreria |
Ksecdd.lib |
IRQL | <= APC_LEVEL |