Прочитать на английском

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


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

Для данной записи каталога функция ldap_first_attribute возвращает первый атрибут.

Синтаксис

WINLDAPAPI PCHAR LDAPAPI ldap_first_attributeA(
  [in]  LDAP        *ld,
  [in]  LDAPMessage *entry,
  [out] BerElement  **ptr
);

Параметры

[in] ld

Дескриптор сеанса.

[in] entry

Запись, атрибуты которой должны быть перешагчены, возвращаемые ldap_first_entry или ldap_next_entry.

[out] ptr

Адрес указателя, используемый внутри для отслеживания текущей позиции в записи.

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

Указатель на строку, завершаемую нулевым значением. Если функция выполняется успешно, она возвращает указатель на выделенный буфер, содержащий текущее имя атрибута. Если атрибуты для пошагового выполнения отсутствуют, возвращается значение NULL. Параметр ошибки сеанса в структуре данных LDAP в любом случае имеет значение 0.

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

Комментарии

Используйте ldap_first_attribute в сочетании с ldap_next_attribute для пошагового просмотра списка типов атрибутов, возвращаемых с записью. Затем можно передать имена этих атрибутов в вызове ldap_get_values , чтобы получить связанные с ними значения.

Вызов ldap_first_attribute выделяет и возвращает через параметр ptr указатель на структуру BerElement . Передайте этот указатель в ldap_next_attribute для отслеживания текущей позиции в списке атрибутов. Завершив пошаговое выполнение списка атрибутов и значение ptr не равно NULL, освободите указатель, вызвав ber_free( ptr, 0 ). Имейте в виду, что в этом вызове необходимо передать второй параметр как 0 (ноль).

И ldap_first_attribute , и ldap_next_attribute возвращают указатель на выделенный буфер, содержащий текущее имя атрибута. Освободите этот буфер, если он больше не нужен, вызвав ldap_memfree. Поскольку этот буфер перезаписывается при следующем вызове ldap_first_attribute или
ldap_next_attribute, пользователь должен создать копию имени атрибута, если оно должно быть сохранено для обработки.

Требования

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

См. также раздел

BerElement

Функции

Поиск в каталоге

ber_free

ldap_first_entry

ldap_get_values

ldap_memfree

ldap_next_attribute

ldap_next_entry