指定搜索范围

可以将搜索范围指定为基本搜索、一级搜索或子树搜索。 使用 ADS_SEARCHPREF_SEARCH_SCOPE 标志和 ADS_SCOPEENUM 枚举的值来指定搜索范围。 以表列出了搜索类型的说明:

  • 基本。 基本搜索将搜索范围限制在基本对象上。 返回对象的最大数量始终为一个。 此搜索可用于验证对象是否存在,以便检索组成员身份。 例如,如果你有对象的可分辨名称,并且必须根据路径验证该对象是否存在,则可以使用一级搜索。 如果搜索失败,可以假定对象可能已被重命名或移到了不同的位置,或者获得了有关对象的错误信息。 请注意,如果要重新访问对象,应存储对象的全局唯一标识符 (GUID),而不是可分辨名称。 无论对象位于目录层次结构中的哪个位置,GUID 都将始终引用同一个对象。
  • 一级。 一级搜索仅限于基本对象的直接子对象,但不包括基本对象本身。 此设置可以针对父对象的即时子对象执行有针对性的搜索。 例如,考虑一个父对象 P1 及其直接子对象:C1、C2 和 C3。 一级搜索会根据搜索条件来评估 C1、C2 和 C3,但不评估 P1。 使用一级搜索可以枚举对象的所有子对象。 IADsContainer 枚举可转换为一级搜索。
  • 子树。 子树搜索(或深度搜索)包括所有子对象和基本对象。 可以要求 LDAP 提供程序跟踪其他 LDAP 目录服务的引用,包括其他目录域或目录林。