ldap_search函数搜索 LDAP 目录,并为每个匹配条目返回请求的属性集。
语法
WINLDAPAPI ULONG LDAPAPI ldap_search(
  [in] LDAP   *ld,
  [in] PSTR   base,
  [in] ULONG  scope,
  [in] PSTR   filter,
  [in] PZPSTR attrs,
  [in] ULONG  attrsonly
);
参数
[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
如果同时返回属性类型和值,则应为零的布尔值;如果只需要类型,则为非零值。
返回值
如果该函数成功,它将返回搜索操作的消息 ID。
如果函数失败,它将返回 –1 并在 LDAP 数据结构中设置会话错误参数。
注解
ldap_search 函数启动异步搜索操作。
将 ldap_set_option 函数与 ld 会话句柄结合使用,设置确定如何执行搜索的LDAP_OPT_SIZELIMIT、LDAP_OPT_TIMELIMIT和LDAP_OPT_DEREF选项。 有关详细信息,请参阅 会话选项。
作为异步函数, ldap_search 返回操作的消息 ID。 使用消息 ID 调用 ldap_result 以获取操作的结果。 若要在异步搜索操作完成之前取消该操作,请调用 ldap_abandon。
若要让函数直接返回结果,请使用同步例程 ldap_search_s。 使用 ldap_search_ext 或 ldap_search_ext_s 实现对 LDAP 3 服务器和客户端控件的支持。
多线程处理:对 ldap_search 的调用是线程安全的,前提是在函数调用返回 -1 失败代码时使用 LdapGetLastError 检索实际会话错误代码。
要求
| 要求 | 值 | 
|---|---|
| 最低受支持的客户端 | Windows Vista | 
| 最低受支持的服务器 | Windows Server 2008 | 
| 目标平台 | Windows | 
| 标头 | winldap.h | 
| Library | Wldap32.lib | 
| DLL | Wldap32.dll |