Funzione LsaLookupNames2 (ntsecapi.h)
La funzione LsaLookupNames2 recupera gli identificatori di sicurezza (SID) per i nomi di account specificati. LsaLookupNames2 può cercare il SID per qualsiasi account in qualsiasi dominio in una foresta di Windows.
La funzione LsaLookupNames viene sostituita dalla funzione LsaLookupNames2 . Le applicazioni devono usare la funzione LsaLookupNames2 per garantire la compatibilità futura.
Questa funzione è diversa dalla funzione LsaLookupNames in quanto LsaLookupNames2 restituisce ogni SID come singolo elemento, mentre LsaLookupNames divide ogni SID in una coppia RID/dominio.
Sintassi
NTSTATUS LsaLookupNames2(
[in] LSA_HANDLE PolicyHandle,
[in] ULONG Flags,
[in] ULONG Count,
[in] PLSA_UNICODE_STRING Names,
[out] PLSA_REFERENCED_DOMAIN_LIST *ReferencedDomains,
[out] PLSA_TRANSLATED_SID2 *Sids
);
Parametri
[in] PolicyHandle
Handle per un oggetto Policy . L'handle deve avere il diritto di accesso POLICY_LOOKUP_NAMES. Per altre informazioni, vedere Apertura di un handle oggetto Criteri.
[in] Flags
Valori che controllano il comportamento di questa funzione. Il valore seguente è attualmente definito.
[in] Count
Specifica il numero di nomi nella matrice Names . Si tratta anche del numero di voci restituite nella matrice Sids .
[in] Names
Puntatore a una matrice di strutture LSA_UNICODE_STRING che contengono i nomi da cercare. Queste stringhe possono essere i nomi di account utente, gruppo o gruppo locale o i nomi dei domini. I nomi di dominio possono essere nomi di dominio DNS o nomi di dominio NetBIOS.
Per altre informazioni sul formato delle stringhe dei nomi, vedere Osservazioni.
[out] ReferencedDomains
Riceve un puntatore a una struttura LSA_REFERENCED_DOMAIN_LIST . Il membro Domains di questa struttura è una matrice che contiene una voce per ogni dominio in cui è stato trovato un nome. Il membro DomainIndex di ogni voce nella matrice Sids è l'indice della voce della matrice Domains per il dominio in cui è stato trovato il nome.
Al termine dell'uso del puntatore restituito, liberarlo chiamando
Funzione LsaFreeMemory . Questa memoria deve essere liberata anche quando la funzione ha esito negativo con i codici di errore STATUS_NONE_MAPPED o STATUS_SOME_NOT_MAPPED
[out] Sids
Riceve un puntatore a una matrice di strutture LSA_TRANSLATED_SID2 . Ogni voce nella matrice Sids contiene le informazioni SID per la voce corrispondente nella matrice Names .
Al termine dell'uso del puntatore restituito, liberarlo chiamando
Funzione LsaFreeMemory . Questa memoria deve essere liberata anche quando la funzione ha esito negativo con i codici di errore STATUS_NONE_MAPPED o STATUS_SOME_NOT_MAPPED
Valore restituito
Se la funzione ha esito positivo, la funzione restituisce uno dei valori NTSTATUS seguenti.
Valore | Descrizione |
---|---|
|
Alcuni nomi non possono essere tradotti. Si tratta di un valore restituito a livello informativo. |
|
Tutti i nomi sono stati trovati e tradotti correttamente. |
Se la funzione ha esito negativo, il valore restituito è il seguente valore NTSTATUS o uno dei valori restituiti della funzione criteri LSA.
Valore | Descrizione |
---|---|
|
Nessuno dei nomi è stato tradotto. |
Usare la funzione LsaNtStatusToWinError per convertire il codice NTSTATUS in un codice di errore di Windows.
Commenti
Usare nomi di account completi (ad esempio , NomeDominio\UserName) anziché nomi isolati (ad esempio , UserName). I nomi completi non sono ambigui e offrono prestazioni migliori quando viene eseguita la ricerca. Questa funzione supporta anche nomi DNS completi( ad esempio, esempio.Esempio.com\UserName) e nomi dell'entità utente (UPN) (ad esempio, Esempio di qualcuno@.com).
La traduzione dei nomi isolati introduce la possibilità di conflitti di nomi perché lo stesso nome può essere usato in più domini. La funzione LsaLookupNames2 usa l'algoritmo seguente per convertire i nomi isolati.
Per tradurre nomi isolati
- Se il nome è un nome noto, ad esempio Local o Interactive, la funzione restituisce l'identificatore di sicurezza noto corrispondente.
- Se il nome è il nome del dominio predefinito, la funzione restituisce il SID di tale dominio.
- Se il nome è il nome del dominio dell'account, la funzione restituisce il SID di tale dominio.
- Se il nome è il nome del dominio primario, la funzione restituisce il SID del dominio.
- Se il nome è uno dei nomi del dominio attendibile, la funzione restituisce il SID di tale dominio.
- Se il nome è un account utente, gruppo o gruppo locale nel dominio predefinito, la funzione restituisce il SID di tale account.
- Se il nome è un account utente, gruppo o gruppo locale nel dominio dell'account nel sistema locale, la funzione restituisce il SID di tale account.
- Se il nome è un utente, un gruppo o un gruppo locale nel dominio primario, la funzione restituisce il SID di tale account.
- Dopo aver cercato nel dominio primario, la funzione cerca in ognuno dei domini attendibili del dominio primario.
- In caso contrario, il nome non viene tradotto.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | ntsecapi.h |
Libreria | Advapi32.lib |
DLL | Advapi32.dll |