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


функция ldap_search (winldap.h)

Функция 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

Логическое значение, которое должно быть равно нулю, если возвращаются как типы атрибутов, так и значения, а не нулевым, если требуются только типы.

Возвращаемое значение

Если функция выполняется успешно, она возвращает идентификатор сообщения операции поиска.

Если функция завершается сбоем, она возвращает –1 и задает параметры ошибки сеанса в структуре данных LDAP.

Комментарии

Функция ldap_search инициирует асинхронную операцию поиска.

Используйте функцию ldap_set_option с дескриптором сеанса ld , чтобы задать параметры LDAP_OPT_SIZELIMIT, LDAP_OPT_TIMELIMIT и LDAP_OPT_DEREF, определяющие способ выполнения поиска. Дополнительные сведения см. в разделе Параметры сеанса.

Как асинхронная функция ldap_search возвращает идентификатор сообщения для операции. Вызовите ldap_result с идентификатором сообщения, чтобы получить результат операции. Чтобы отменить асинхронную операцию поиска до ее завершения, вызовите ldap_abandon.

Чтобы функция возвращала результаты напрямую, используйте синхронную подпрограмму ldap_search_s. Используйте ldap_search_ext или ldap_search_ext_s для реализации поддержки серверных и клиентских элементов управления LDAP 3.

Многопоточность. Вызовы ldap_search являются потокобезопасны при условии, что LdapGetLastError используется для получения фактического кода ошибки сеанса, когда вызов функции возвращает код сбоя -1.

Примечание При подключении к серверу LDAP 2 приложение должно выполнить операцию привязки, вызвав одну из подпрограмм ldap_bind или ldap_simple_bind , прежде чем выполнять другие операции.
 

Требования

Требование Значение
Минимальная версия клиента Windows Vista
Минимальная версия сервера Windows Server 2008
Целевая платформа Windows
Header winldap.h
Библиотека Wldap32.lib
DLL Wldap32.dll

См. также

Функции

LDAP

ldap_abandon

ldap_bind

ldap_result

ldap_search_ext

ldap_search_ext_s

ldap_search_s

ldap_simple_bind