Funzione LsaEnumerateTrustedDomains (ntsecapi.h)

La funzione LsaEnumerateTrustedDomains recupera i nomi e i SID dei domini attendibili per autenticare le credenziali di accesso. LsaEnumerateTrustedDomains è destinata all'uso nei sistemi che eseguono Windows NT 4.0 o versioni precedenti di Windows NT. Usare DsEnumerateDomainTrusts per qualsiasi altro scopo dell'enumerazione trust. In particolare, LsaEnumerateTrustedDomains può essere usato solo se una o più delle condizioni seguenti sono vere:

  • Il sistema chiamante esegue Windows NT 4.0 o una versione precedente di Windows NT.
  • Il sistema di destinazione (specificato usando il parametro PolicyHandle ) è un controller di dominio che esegue Windows NT 4.0 o una versione precedente.
  • Il sistema chiamante esegue Windows NT 4.0 o versione precedente e non è un controller di dominio e il sistema di destinazione è un controller di dominio nel dominio del sistema chiamante. Il sistema di destinazione può eseguire qualsiasi versione di Windows NT, tra cui Windows 2000 e Windows XP.

Sintassi

NTSTATUS LsaEnumerateTrustedDomains(
  [in]  LSA_HANDLE              PolicyHandle,
  [in]  PLSA_ENUMERATION_HANDLE EnumerationContext,
  [out] PVOID                   *Buffer,
  [in]  ULONG                   PreferedMaximumLength,
  [out] PULONG                  CountReturned
);

Parametri

[in] PolicyHandle

Handle per un oggetto Policy . L'handle deve avere il diritto di accesso POLICY_VIEW_LOCAL_INFORMATION. Per altre informazioni, vedere Apertura di un handle oggetto Criteri.

[in] EnumerationContext

Puntatore a un handle di enumerazione che consente di effettuare più chiamate per enumerare tutti i domini attendibili. Nella prima chiamata a LsaEnumerateTrustedDomainsEnumerationContext deve puntare a una variabile inizializzata su zero. Nelle chiamate successive a LsaEnumerateTrustedDomains, EnumerationContext deve puntare all'handle di enumerazione restituito dalla chiamata precedente.

[out] Buffer

Riceve un puntatore a una matrice di strutture LSA_TRUST_INFORMATION che contengono i nomi e i SID di uno o più domini attendibili.

Quando le informazioni non sono più necessarie, passare il puntatore restituito a LsaFreeMemory.

[in] PreferedMaximumLength

Specifica le dimensioni massime preferite, in byte, del buffer restituito. Queste informazioni sono approssimative; Il numero effettivo di byte restituiti può essere maggiore di questo valore.

[out] CountReturned

Puntatore a una variabile che riceve il numero di elementi restituiti nel parametro Buffer .

Valore restituito

Se la funzione ha esito positivo, il valore restituito è uno dei valori NTSTATUS seguenti.

Valore Descrizione
STATUS_SUCCESS
L'enumerazione è stata completata correttamente.
STATUS_MORE_ENTRIES
La chiamata ha avuto esito positivo, ma sono presenti domini più attendibili da enumerare. Chiamare di nuovo LsaEnumerateTrustedDomains , passando il valore restituito nel parametro EnumerationContext .
STATUS_NO_MORE_ENTRIES
Non sono più presenti domini attendibili da enumerare.
 

Se la funzione ha esito negativo, il valore restituito è un codice NTSTATUS. Per altre informazioni, vedere Valori restituiti della funzione criteri LSA.

È possibile utilizzare la funzione LsaNtStatusToWinError per convertire il codice NTSTATUS in un codice di errore di Windows.

Commenti

Per i domini con controller di dominio che eseguono solo Windows NT 4.0 o versioni precedenti di Windows NT, LsaEnumerateTrustedDomains restituisce un elenco di tutti i domini attendibili. Nelle versioni di Windows NT fino alla versione 4.0, tutti i domini attendibili sono direttamente attendibili.

Nei domini windows XP e Windows 2000 in modalità mista, i controller di dominio possono eseguire Windows XP, Windows 2000 o Windows NT. Pertanto, nei domini in modalità mista, alcuni domini attendibili sono direttamente attendibili e altri sono indirettamente attendibili. Quando si enumerano i domini attendibili di un sistema in un dominio in modalità mista, LsaEnumerateTrustedDomains restituisce solo domini direttamente attendibili.

Al contrario, i domini windows XP e Windows 2000 in modalità nativa contengono solo controller di dominio Windows 2000, anche se nel dominio che esegue Windows NT 4.0 o versioni precedenti potrebbero essere presenti membri. Quando si enumerano i domini attendibili di un sistema in un dominio Windows XP e Windows 2000 in modalità nativa, LsaEnumerateTrustedDomains restituisce domini attendibili direttamente e indirettamente attendibili.

Il recupero di tutte le informazioni di attendibilità può richiedere più di una singola chiamata LsaEnumerateTrustedDomains . È possibile usare il parametro EnumerationContext per effettuare più chiamate, come indicato di seguito: Nella prima chiamata impostare la variabile a cui punta EnumerationContext su zero. Se LsaEnumerateTrustedDomains restituisce STATUS_SUCCESS o STATUS_MORE_ENTRIES, chiamare di nuovo la funzione, passando il valore EnumerationContext restituito dalla chiamata precedente. L'enumerazione viene completata quando la funzione restituisce STATUS_NO_MORE_ENTRIES.

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

Vedi anche

LSA_TRUST_INFORMATION

LsaEnumerateTrustedDomainsEx

LsaFreeMemory

LsaOpenPolicy