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