Funzione LsaLookupSids (ntsecapi.h)
[LsaLookupSids è disponibile per l'uso nei sistemi operativi specificati nella sezione Requisiti. È possibile che in versioni successive sia stata modificata o non sia più disponibile. Usare invece LsaLookupSids2.]
La funzione LsaLookupSids cerca i nomi che corrispondono a una matrice di identificatori di sicurezza (SID). Se LsaLookupSids non riesce a trovare un nome corrispondente a un SID, la funzione restituisce il SID in formato carattere.
Sintassi
NTSTATUS LsaLookupSids(
[in] LSA_HANDLE PolicyHandle,
[in] ULONG Count,
[in] PSID *Sids,
[out] PLSA_REFERENCED_DOMAIN_LIST *ReferencedDomains,
[out] PLSA_TRANSLATED_NAME *Names
);
Parametri
[in] PolicyHandle
Handle per un oggetto Policy . Questo handle deve avere il diritto di accesso POLICY_LOOKUP_NAMES. Per altre informazioni, vedere Apertura di un handle oggetto Criteri.
[in] Count
Specifica il numero di SID nella matrice Sids . Questo è anche il numero di voci restituite nella matrice Names . Questo valore deve essere minore o uguale a 20480.
[in] Sids
Puntatore a una matrice di puntatori SID da cercare. I SID possono essere SID noti, SID utente, gruppo o SID di account di gruppo locale o SID di dominio.
[out] ReferencedDomains
Riceve un puntatore a 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 SID. La voce per ogni dominio contiene il SID e il nome flat del dominio. Per i domini Windows, il nome flat è il nome NetBIOS. Per i collegamenti con domini non Windows, il nome flat è il nome di identificazione di tale dominio o è NULL.
Quando le informazioni non sono più necessarie, passare il puntatore restituito a 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] Names
Riceve un puntatore a una matrice di strutture LSA_TRANSLATED_NAME . Ogni voce nella matrice Names contiene le informazioni sul nome per la voce corrispondente nella matrice Sids . Per i SID dell'account, il membro Name di ogni struttura contiene il nome isolato dell'account. Per i SID di dominio, il membro Name non è valido.
Il membro DomainIndex di ogni voce nella matrice Names è l'indice di una voce nella matrice Domains restituita nel parametro ReferencedDomains . L'indice identifica la matrice Domains per il dominio in cui è stato trovato il SID.
Quando le informazioni non sono più necessarie, passare il puntatore restituito a 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, il valore restituito è uno dei valori NTSTATUS seguenti.
Codice restituito | Descrizione |
---|---|
|
Non è stato possibile tradurre alcuni SID. Si tratta di un valore restituito a livello informativo. |
|
Tutti i SID sono stati trovati e tradotti correttamente. |
Se la funzione ha esito negativo, il valore restituito è un codice NTSTATUS , che può essere uno dei valori seguenti o uno dei valori restituiti della funzione criteri LSA.
Codice restituito | Descrizione |
---|---|
|
Nessuno dei SID è stato tradotto. Si tratta di un valore restituito a livello di errore. |
|
Il parametro della matrice Sids è troppo grande. |
È possibile utilizzare la funzione LsaNtStatusToWinError per convertire il codice NTSTATUS in un codice di errore di Windows.
Commenti
Per i SID dell'account, la stringa restituita nel membro Name è il nome isolato dell'account, ad esempio user_name. Se è necessario il nome composito dell'account , ad esempio Acctg\user_name, ottenere il nome di dominio dal buffer ReferencedDomains e aggiungere una barra rovesciata e il nome isolato.
Se la funzione LsaLookupSids non riesce a convertire un SID, la funzione usa l'algoritmo seguente:
- Se il dominio del SID è noto, il buffer ReferencedDomains contiene una voce per il dominio e la stringa restituita nel parametro Names è una rappresentazione Unicode dell'identificatore relativo (RID) dell'account dal SID.
- Se il dominio del SID non è noto, la stringa restituita nel parametro Names è una rappresentazione Unicode dell'intero SID e non esiste alcun record di dominio per questo SID nel buffer ReferencedDomains .
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 |