Поделиться через


Возврат только имен атрибутов с помощью IDirectorySearch

Вы можете выполнить поиск, чтобы определить, какой тип данных доступен для определенного объекта. В этом случае вам нужны только имена атрибутов, а не значения атрибутов объекта. Параметр ADS_SEARCHPREF_ATTRIBTYPES_ONLY приводит к тому, что сервер возвращает только имена атрибутов, а не значения атрибутов. Однако результирующий набор включает только те атрибуты, которым назначены значения. Например, рассмотрим объект со следующими атрибутами:

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

Если установлен параметр ADS_SEARCHPREF_ATTRIBTYPES_ONLY, результирующий набор включает:

name
sn
department
phone

По умолчанию возвращаются значения и имена атрибутов.

Чтобы получить только имена атрибутов, задайте параметр поиска ADS_SEARCHPREF_ATTRIBTYPES_ONLY со значением ADSTYPE_BOOLEANTRUE в массиве ADS_SEARCHPREF_INFO, переданном методу IDirectorySearch::SetSearchPreference.

В следующем примере кода показано, как получить только имена атрибутов.

ADS_SEARCHPREF_INFO SearchPref;
SearchPref.dwSearchPref = ADS_SEARCHPREF_ATTRIBTYPES_ONLY;
SearchPref.vValue.dwType = ADSTYPE_BOOLEAN;
SearchPref.vValue.Boolean = TRUE;

Дополнительные сведения и пример кода, демонстрирующий использование параметра поиска ADS_SEARCHPREF_ATTRIBTYPES_ONLY, см. в разделе Код примера поиска атрибутов.