Указание области поиска

Область поиска можно указать как базовую, одноуровневую или поддеревую. Используйте флаг ADS_SEARCHPREF_SEARCH_SCOPE со значениями перечисления ADS_SCOPEENUM, чтобы указать область поиска. В следующем списке содержатся описания типов поиска:

  • базовые. Базовый поиск ограничивает поиск базовым объектом. Максимальное число возвращаемых объектов всегда равно одному. Этот поиск полезен для проверки существования объекта для получения членства в группах. Например, если у вас есть различающееся имя объекта, и необходимо проверить существование объекта на основе пути, можно использовать одноуровневый поиск. Если поиск завершается ошибкой, можно предположить, что объект, возможно, был переименован или перемещен в другое расположение, или вы получили неправильные сведения об объекте. Помните, что следует хранить глобальный уникальный идентификатор (GUID) объекта вместо различающегося имени, если вы хотите вернуться к объекту. GUID всегда будет ссылаться на один и тот же объект независимо от того, где находится объект в иерархии каталогов.
  • одноуровневый. Одноуровневый поиск ограничен непосредственными дочерними элементами базового объекта, но исключает сам базовый объект. Этот параметр может выполнять целевой поиск непосредственных дочерних объектов родительского объекта. Например, рассмотрим родительский объект P1 и его непосредственные дочерние объекты: C1, C2 и C3. Одноуровневый поиск оценивает C1, C2 и C3 по критериям поиска, но не оценивает P1. Используйте одноуровневый поиск для перечисления всех дочерних элементов объекта. Перечисление IADsContainer преобразуется в одноуровневый поиск.
  • поддерево. Поиск поддерев (или глубокий поиск) включает все дочерние объекты, а также сам базовый объект. Вы можете запросить у поставщика LDAP преследование рефералов к другим службам каталогов LDAP, включая домены или леса других каталогов.