Funzione SecLookupAccountSid (ntifs.h)
SecLookupAccountSid accetta un identificatore di sicurezza (SID) come input. Recupera il nome dell'account per questo SID e il nome del primo dominio in cui viene trovato questo SID.
Sintassi
KSECDDDECLSPEC NTSTATUS SEC_ENTRY SecLookupAccountSid(
[in] PSID Sid,
[out] PULONG NameSize,
[in, out] PUNICODE_STRING NameBuffer,
[out] PULONG DomainSize,
[out, optional] PUNICODE_STRING DomainBuffer,
[out] PSID_NAME_USE NameUse
);
Parametri
[in] Sid
Puntatore al SID da cercare.
[out] NameSize
Puntatore a una variabile che specifica le dimensioni di NameBuffer. In input, questo valore specifica le dimensioni in byte del NomeBuffer di input. Se la funzione ha esito negativo perché il buffer è troppo piccolo, questa variabile riceve le dimensioni del buffer necessarie. In caso di esito positivo, questa variabile contiene le dimensioni del nome restituitoBuffer.
[in, out] NameBuffer
Puntatore a un buffer che riceve il nome dell'account associato al Sid. Se questo parametro è NULL, NameSize sarà zero.
[out] DomainSize
Puntatore a un oggetto ULONG che specifica le dimensioni del parametro DomainBuffer . Se la funzione ha esito negativo perché il buffer è troppo piccolo, questa variabile riceve le dimensioni del buffer necessarie. Se il parametro DomainBuffer è NULL, questo parametro verrà impostato su zero.
[out, optional] DomainBuffer
Puntatore a un buffer che riceve il nome del primo dominio in cui viene trovato questo SID.
[out] NameUse
Puntatore a un tipo enumerato SID_NAME_USE che riceve il tipo dell'account.
Valore restituito
SecLookupAccountSid restituisce STATUS_SUCCESS sull'esito positivo o su 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 parametro NameBuffer o 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 (LSA). |
STATUS_NO_MEMORY | Non è stato possibile allocare memoria sufficiente per un buffer interno temporaneo usato da questa funzione. |
STATUS_NONE_MAPPED | Impossibile trovare il parametro Sid . |
STATUS_PROCESS_IS_TERMINATING | Questo processo è terminato in modo che non sia possibile stabilire una connessione LPC (Local Procedure Call). |
Commenti
SecLookupAccountSid tenta di trovare un nome per il SID specificato controllando prima un elenco di SID noti. Se il SID fornito 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. Gli identificatori di sicurezza non riconosciuti dal dominio primario vengono controllati nei domini attendibili che corrispondono ai prefissi SID.
Se la funzione non riesce a trovare un nome account per il SID, SecLookupAccountSid ha esito negativo. Ciò può verificarsi se un timeout di rete impedisce alla funzione di trovare il nome. Si verifica anche per i SID che non hanno alcun nome di account corrispondente, ad esempio un SID di accesso che identifica una sessione di accesso.
Oltre a cercare i SID per gli account locali, gli account di dominio locali e gli account di dominio esplicitamente attendibili, SecLookupAccountSid può cercare i SID in qualsiasi dominio nella foresta, inclusi i SID che vengono visualizzati solo nel campo SIDhistory di un account nella foresta. Il campo SIDhistory archivia gli ex SID di un account spostato da un altro dominio. Per cercare un SID, SecLookupAccountSid esegue query sul catalogo globale della foresta.
SecLookupAccountSid equivale alla funzione Win32 LookupAccountSid .
SecLookupAccountSid 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 SecLookupAccountSid durante il paging dei 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 |