Directory Services

Returning Only Attribute Names with IDirectorySearch

You can perform a search to determine what type of data is available for a particular object. In this case, you are only interested in the attributes names, not the attribute values of the object. The ADS_SEARCHPREF_ATTRIBTYPES_ONLY option causes the server to only return the attribute names and not the attribute values. However, the result set includes only those attributes that have values assigned. For example, consider an object with the following attributes:

name = Jeff
sn = Smith
department = Empty
phone = 206-555-0111

When the ADS_SEARCHPREF_ATTRIBTYPES_ONLY option is set, the result set includes:

name
sn
department
phone

The default is for both attribute values and names to be returned.

To retrieve only attribute names, set an ADS_SEARCHPREF_ATTRIBTYPES_ONLY search option with an ADSTYPE_BOOLEAN value of TRUE in the ADS_SEARCHPREF_INFO array passed to the IDirectorySearch::SetSearchPreference method. This operation is shown in the following code example.

[C++]
ADS_SEARCHPREF_INFO SearchPref;
SearchPref.dwSearchPref = ADS_SEARCHPREF_ATTRIBTYPES_ONLY;
SearchPref.vValue.dwType = ADSTYPE_BOOLEAN;
SearchPref.vValue.Boolean = TRUE;

For more information and a code example that shows how to use the ADS_SEARCHPREF_ATTRIBTYPES_ONLY search option, see Example Code for Searching for Attributes.