ADS_CHASE_REFERRALS_ENUM enumeration (iads.h)
The ADS_CHASE_REFERRALS_ENUM enumeration specifies if, and how, referral chasing occurs. When a server determines that other servers hold relevant data, in part or as a whole, it may refer the client to another server to obtain the result. Referral chasing is the action taken by a client to contact the referred-to server to continue the directory search.
Syntax
typedef enum __MIDL___MIDL_itf_ads_0000_0000_0024 {
ADS_CHASE_REFERRALS_NEVER = 0,
ADS_CHASE_REFERRALS_SUBORDINATE = 0x20,
ADS_CHASE_REFERRALS_EXTERNAL = 0x40,
ADS_CHASE_REFERRALS_ALWAYS
} ADS_CHASE_REFERRALS_ENUM;
Constants
ADS_CHASE_REFERRALS_NEVER Value: 0 The client should never chase the referred-to server. Setting this option prevents a client from contacting other servers in a referral process. |
ADS_CHASE_REFERRALS_SUBORDINATE Value: 0x20 The client chases only subordinate referrals which are a subordinate naming context in a directory tree. For example, if the base search is requested for "DC=Fabrikam,DC=Com", and the server returns a result set and a referral of "DC=Sales,DC=Fabrikam,DC=Com" on the AdbSales server, the client can contact the AdbSales server to continue the search. The ADSI LDAP provider always turns off this flag for paged searches. |
ADS_CHASE_REFERRALS_EXTERNAL Value: 0x40 The client chases external referrals. For example, a client requests server A to perform a search for "DC=Fabrikam,DC=Com". However, server A does not contain the object, but knows that an independent server, B, owns it. It then refers the client to server B. |
ADS_CHASE_REFERRALS_ALWAYS Referrals are chased for either the subordinate or external type. |
Remarks
Use the constants of this enumeration to set up search preferences for referral chasing. The action amounts to assigning the appropriate fields of the ADS_SEARCHPREF_INFO structure with elements of the ADS_CHASE_REFERRALS_ENUM and ADS_SEARCHPREF_ENUM enumerations. The values of this enumeration can also be used with IADsObjectOptions to specify whether referral chasing should take place when enumerating the objects under a container object.
The IADsNameTranslate interface has a partial implementation of ADS_CHASE_REFERRALS_ENUM through the ChaseReferral property. If the ChaseReferral property is set to zero (0), it is the same as specifying ADS_CHASE_REFERRALS_NEVER (0). If a nonzero value is used, it is the same as specifying ADS_CHASE_REFERRALS_ALWAYS (0x60). IADsNameTranslate does not implement the ADS_CHASE_REFERRALS_SUBORDINATE (0x20) or ADS_CHASE_REFERRALS_EXTERNAL (0x40) options.
The ADSI LDAP provider supports external referrals for paged searches, but does not support subordinate referrals during paging.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows Vista |
Minimum supported server | Windows Server 2008 |
Header | iads.h |