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

Vedi anche

SID

SID_NAME_USE

SecLookupAccountName

SecLookupWellKnownSid