Ricerca di riferimenti con IDirectorySearch
Una segnalazione è il meccanismo usato da un server di directory per indirizzare un client a un altro server quando non contiene dati sufficienti sull'oggetto richiesto da una query.
In una ricerca di un solo livello o sottoalbero, i riferimenti vengono restituiti solo per i domini, schemi o contenitori di configurazione immediatamente subordinati e conosciuti; ovvero domini figlio diretti. Per altre informazioni, vedere ambito di ricerca.
In una directory, non tutti i dati sono disponibili in un singolo server, ma vengono distribuiti su più server diversi nella rete. Se i server condividono i dati che altri server possono fornire, possono fornire riferimenti a un client quando non è possibile risolvere una query richiesta nel server di origine. Ad esempio, quando un client chiede al server A di eseguire una query su un oggetto utente (U), A può suggerire che il client continui la ricerca nel server B se U non risiede in A, ma viene identificato come in B. Il cliente ha la scelta di perseguire o meno la segnalazione. I riferimenti liberano il client dalla necessità di possedere conoscenze pregresse sulla capacità di ciascun server, ma il client deve specificare il tipo di riferimenti che un server deve eseguire.
Per abilitare o disabilitare il tracciamento dei riferimenti, impostare un'opzione di ricerca ADS_SEARCHPREF_CHASE_REFERRALS con un valore di tipo ADSTYPE_INTEGER che contiene uno dei valori dell'enumerazione ADS_CHASE_REFERRALS_ENUM nell'array ADS_SEARCHPREF_INFO passato al metodo IDirectorySearch::SetSearchPreference.
Nell'esempio di codice seguente viene illustrato come abilitare le segnalazioni di inseguimento.
ADS_SEARCHPREF_INFO SearchPref;
SearchPref.dwSearchPref = ADS_SEARCHPREF_CHASE_REFERRALS;
SearchPref.vValue.dwType = ADSTYPE_INTEGER;
SearchPref.vValue.Integer = ADS_CHASE_REFERRALS_ALWAYS;
Per altre informazioni sulle segnalazioni in Active Directory, vedere Segnalazioni.