ldap_search_ext 函数 (winldap.h)

ldap_search_ext 函数搜索 LDAP 目录,并为每个匹配条目返回请求的属性集。

语法

WINLDAPAPI ULONG LDAPAPI ldap_search_ext(
  [in]  LDAP          *ld,
  [in]  PSTR          base,
  [in]  ULONG         scope,
  [in]  PSTR          filter,
  [in]  PZPSTR        attrs,
  [in]  ULONG         attrsonly,
  [in]  PLDAPControlA *ServerControls,
  [in]  PLDAPControlA *ClientControls,
  [in]  ULONG         TimeLimit,
  [in]  ULONG         SizeLimit,
  [out] ULONG         *MessageNumber
);

参数

[in] ld

会话句柄。

[in] base

指向以 null 结尾的字符串的指针,该字符串包含要开始搜索的条目的可分辨名称。

[in] scope

指定以下值之一来指示搜索范围。

LDAP_SCOPE_BASE

仅搜索基本条目。

LDAP_SCOPE_ONELEVEL

搜索基础条目下方第一级的所有条目,不包括基条目。

LDAP_SCOPE_SUBTREE

搜索基项和基下方树中的所有条目。

[in] filter

指向以 null 结尾的字符串的指针,该字符串指定搜索筛选器。 有关详细信息,请参阅 搜索筛选器语法

[in] attrs

以 null 结尾的字符串数组,这些字符串指示要为每个匹配项返回哪些属性。 若要检索所有可用属性,请传递 NULL

[in] attrsonly

一个布尔值,如果同时返回属性类型和值,则应为零;如果只返回类型,则为非零值。

[in] ServerControls

LDAP 服务器控件的列表。

[in] ClientControls

客户端控件的列表。

[in] TimeLimit

指定本地搜索超时值(以秒为单位)和在搜索请求中发送到服务器的操作时间限制。

[in] SizeLimit

要从搜索返回的条目数限制。 值为零表示没有限制。

[out] MessageNumber

请求消息 ID。

返回值

如果函数成功,则 返回值LDAP_SUCCESS

如果该函数失败,它将返回错误代码。 有关详细信息,请参阅 返回值

注解

ldap_search_ext 函数启动异步搜索操作。 ldap_search_ext的参数和效果包括ldap_search的参数和效果。 扩展函数包括其他参数,用于支持客户端和服务器控件以及线程安全,以及为每个搜索操作指定大小和时间限制。

ldap_set_option 函数与 ld 会话句柄结合使用,设置确定如何执行搜索的 LDAP_OPT_DEREF 选项。 有关详细信息,请参阅 会话选项。 将忽略另外两个会话选项 (LDAP_OPT_SIZELIMITLDAP_OPT_TIMELIMIT),取而代之的是此函数中的 SizeLimitTimeLimit 参数。

如果操作成功, ldap_search_ext 操作成功返回时将消息 ID 作为参数传递给调用方。 使用消息 ID 调用 ldap_result 以获取操作的结果。

必须控制结果返回速率的 LDAP 客户端应用程序可以指定搜索请求来提供分页结果控件,并将大小设置为所需页面大小,cookie 设置为零长度字符串。 指定的页面大小可能大于零,并且小于搜索请求中指定的 SizeLimit 值。

如果页面大小大于或等于会话选项中所述的 SizeLimit 值选项,则服务器应忽略该控件,因为可以在单个页面中满足请求。 如果服务器不支持此控件,则服务器必须返回错误“不受支持的严重扩展”(如果客户端请求为严重扩展),否则服务器应忽略该控件。 本部分的其余部分假定服务器不会忽略客户端的分页结果控件。

客户端向服务器发送一个包含简单分页结果控件的搜索请求,以及一个空的上一个枚举键(也称为“cookie”)和初始页面大小。 然后,服务器返回由页面大小指定的条目数,并返回在下一个客户端请求中发出的 Cookie 以获取下一页结果。 然后,客户端发出搜索,其中包含 Cookie,并选择性地重置页面大小。 然后,服务器通过返回结果进行响应,最多返回指定数量的条目。 若要指示函数直接返回结果,请使用同步例程 ldap_search_ext_s

多线程处理:对 ldap_search_ext 的调用是线程安全的。

要求

要求
最低受支持的客户端 Windows Vista
最低受支持的服务器 Windows Server 2008
目标平台 Windows
标头 winldap.h
Library Wldap32.lib
DLL Wldap32.dll

另请参阅

Active Directory 中的更改通知

扩展控件

函数

会话选项

使用控件

ldap_result

ldap_search

ldap_search_ext_s