функция ldap_open (winldap.h)
[ldap_open доступно для использования в операционных системах, указанных в разделе Требования, однако это не рекомендуется. Вместо этого используйте ldap_init.]
Функция ldap_open создает и инициализирует блок подключения, а затем открывает подключение к серверу LDAP.
Синтаксис
WINLDAPAPI LDAP *LDAPAPI ldap_open(
[in] PSTR HostName,
[in] ULONG PortNumber
);
Параметры
[in] HostName
Указатель на строку, завершаемую null. Доменное имя, список имен узлов или пунктирные строки, представляющие IP-адрес узлов сервера LDAP. Используйте одно пространство для разделения имен узлов в списке. За каждым именем узла в списке может следовать номер порта. Необязательный номер порта отделяется от самого узла двоеточием (:). Во время выполнения LDAP пытается подключиться к узлам в указанном порядке, останавливаясь при успешном подключении. Имейте в виду, что только ldap_open пытается установить соединение, прежде чем вернуться к вызывающему объекту. Функция ldap_init не подключается к серверу LDAP.
[in] PortNumber
Содержит номер TCP-порта, к которому нужно подключиться. Порт LDAP по умолчанию 389 можно получить, указав константный LDAP_PORT. Если имя узла содержит номер порта, этот параметр игнорируется.
Возвращаемое значение
Если функция выполняется успешно, она возвращает дескриптор сеанса в виде указателя на структуру данных LDAP. Если дескриптор сеанса больше не требуется, освободите его с помощью вызова ldap_unbind.
Если функция завершается сбоем, она возвращает значение NULL. Используйте функцию LdapGetLastError , чтобы получить код ошибки.
Комментарии
Вызовите ldap_open , чтобы создать блок подключения к серверу LDAP. HostName может иметь значение NULL, в этом случае во время выполнения выполняется попытка найти сервер LDAP по умолчанию. Имена узлов пробуются в указанном порядке и останавливаются при первом успешном подключении. Для серверов Active Directory можно использовать функцию DsGetDcName , чтобы получить имя сервера, которое затем можно передать в качестве параметра HostName вместо null.
Если для параметра HostName задано значение NULL или доменное имя, применяется автоматическое повторное подключение. Если подключенный контроллер домена по какой-либо причине перестает работать в течение времени существования подключения, LDAP автоматически повторно подключится к другому контроллеру домена в указанном домене. Это поведение можно отключить или включить с помощью параметра сеанса LDAP_OPT_AUTO_RECONNECT , который включен по умолчанию.
При использовании LDAP_OPT_HOST_NAME используется ldap-сервер по умолчанию. Этот параметр задает имя узла сервера LDAP по умолчанию и возвращает имя узла сервера в Юникоде или ANSI в зависимости от использования ldap_get_optionW или ldap_get_optionA соответственно.
Если номер порта глобального каталога передается ldap_open в качестве одного из аргументов, то имя узла, переданное для этого номера порта, должно быть именем леса для базового вызова DsGetDcName(), чтобы правильно найти сборку мусора в предприятии.
Функция ldap_open выделяет структуру данных LDAP для хранения данных о состоянии сеанса и возвращает дескриптор этой структуре. Передайте этот дескриптор последующим вызовам функций LDAP в ходе сеанса.
Многопоточность: вызовы ldap_open потокобезопасны.
Требования
Минимальная версия клиента | Windows Vista |
Минимальная версия сервера | Windows Server 2008 |
Целевая платформа | Windows |
Header | winldap.h |
Библиотека | Wldap32.lib |
DLL | Wldap32.dll |