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


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

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

Синтаксис

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

Параметры

[in] ld

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

[in] entry

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

[out] ptr

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

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

Указатель на строку, завершаемую null. Если функция выполняется успешно, она возвращает указатель на выделенный буфер, содержащий текущее имя атрибута. Если атрибуты для пошагового выполнения отсутствуют, возвращается значение 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