Partager via


fonction ldap_first_attribute (winldap.h)

Pour une entrée de répertoire donnée, la fonction ldap_first_attribute retourne le premier attribut.

Syntaxe

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

Paramètres

[in] ld

Handle de session.

[in] entry

Entrée dont les attributs doivent être traités, comme retourné par ldap_first_entry ou ldap_next_entry.

[out] ptr

Adresse d’un pointeur utilisé en interne pour suivre la position actuelle dans l’entrée.

Valeur retournée

Pointeur vers une chaîne terminée par null. Si la fonction réussit, elle retourne un pointeur vers une mémoire tampon allouée qui contient le nom d’attribut actuel. Lorsqu’il n’y a plus d’attributs à parcourir, il retourne NULL. Le paramètre d’erreur de session dans la structure de données LDAP est défini sur 0 dans les deux cas.

Si la fonction échoue, elle retourne NULL et définit le paramètre d’erreur de session dans la structure de données LDAP sur le code d’erreur LDAP.

Remarques

Utilisez ldap_first_attribute conjointement avec ldap_next_attribute pour parcourir la liste des types d’attributs retournés avec une entrée. Vous pouvez ensuite passer ces noms d’attributs dans un appel à ldap_get_values pour récupérer leurs valeurs associées.

Un appel à ldap_first_attribute alloue et retourne via le paramètre ptr , un pointeur vers une structure BerElement . Passez ce pointeur à ldap_next_attribute pour suivre la position actuelle dans la liste des attributs. Une fois que vous avez terminé de parcourir une liste d’attributs et que ptr n’a pas la valeur NULL, libérez le pointeur en appelant ber_free( ptr, 0 ). N’oubliez pas que vous devez passer le deuxième paramètre comme 0 (zéro) dans cet appel.

Les deux ldap_first_attribute et ldap_next_attribute retournent un pointeur vers une mémoire tampon allouée contenant le nom d’attribut actuel. Libérez cette mémoire tampon, lorsqu’elle n’est plus nécessaire, en appelant ldap_memfree. Étant donné que cette mémoire tampon est remplacée lors de l’appel suivant à ldap_first_attribute ou
ldap_next_attribute, l’utilisateur doit effectuer une copie du nom de l’attribut s’il doit être conservé pour traitement.

Configuration requise

   
Client minimal pris en charge Windows Vista
Serveur minimal pris en charge Windows Server 2008
Plateforme cible Windows
En-tête winldap.h
Bibliothèque Wldap32.lib
DLL Wldap32.dll

Voir aussi

BerElement

Fonctions

Recherche dans un répertoire

ber_free

ldap_first_entry

ldap_get_values

ldap_memfree

ldap_next_attribute

ldap_next_entry