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 domini noti, immediatamente subordinati, schemi o contenitori di configurazione; ovvero domini figlio discendenti 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 conoscenza precedente della funzionalità di ogni server, ma il client deve specificare il tipo di segnalazioni che deve essere eseguito da un server.
Per abilitare o disabilitare l'inseguimento delle segnalazioni, impostare un'opzione di ricerca ADS_edizione StandardARCHPREF_CHAedizione Standard_REFERRALS con un valore ADSTYPE_INTEGER contenente uno dei valori di enumerazione ADS_CHAedizione Standard_REFERRALS_ENUM nel ADS_edizione StandardARCHPREF_INFOmatrice passata 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.