Partager via


Référencement chasing avec IDirectorySearch

Une référence est le mécanisme utilisé par un serveur d’annuaire pour diriger un client vers un autre serveur lorsqu’il ne contient pas suffisamment de données sur l’objet demandé par une requête.

Dans une recherche à un niveau ou sous-arborescence, les références sont retournées uniquement pour les conteneurs de domaine, de schéma ou de configuration immédiatement subordonnés connus ; autrement dit, les domaines enfants qui sont des descendants directs. Pour plus d’informations, consultez Étendue de la recherche.

Dans un répertoire, toutes les données ne sont pas disponibles sur un seul serveur, mais elles sont réparties sur plusieurs serveurs différents sur le réseau. Si les serveurs partagent les données que d’autres serveurs peuvent fournir, ils peuvent fournir des références à un client lorsqu’une requête demandée ne peut pas être résolue sur le serveur d’origine. Par exemple, lorsqu’un client demande au serveur A d’interroger un objet utilisateur (U), A peut suggérer au client de poursuivre la recherche sur le serveur B si U ne réside pas sur A, mais est identifié comme étant sur B. Le client a le choix de poursuivre la recommandation ou non. Les références libèrent le client d’avoir une connaissance préalable de la fonctionnalité de chaque serveur, mais le client doit spécifier le type de références qu’un serveur doit effectuer.

Pour activer ou désactiver la recherche de références, définissez une option de recherche ADS_SEARCHPREF_CHASE_REFERRALS avec une valeur ADSTYPE_INTEGER qui contient l’une des valeurs d’énumération ADS_CHASE_REFERRALS_ENUM du tableau ADS_SEARCHPREF_INFO passées à la méthode IDirectorySearch::SetSearchPreference .

L’exemple de code suivant montre comment activer les références de chasse.

ADS_SEARCHPREF_INFO SearchPref;
SearchPref.dwSearchPref = ADS_SEARCHPREF_CHASE_REFERRALS;
SearchPref.vValue.dwType = ADSTYPE_INTEGER;
SearchPref.vValue.Integer = ADS_CHASE_REFERRALS_ALWAYS;

Pour plus d’informations sur les références dans Active Directory, consultez Références.