fonction ldap_result (winldap.h)

La fonction ldap_result obtient le résultat d’une opération asynchrone.

Syntaxe

WINLDAPAPI ULONG LDAPAPI ldap_result(
  [in]  LDAP          *ld,
  [in]  ULONG         msgid,
  [in]  ULONG         all,
  [in]  PLDAP_TIMEVAL timeout,
  [out] PLDAPMessage  *res
);

Paramètres

[in] ld

Handle de session.

[in] msgid

L’ID de message de l’opération ou la constante LDAP_RES_ANY si un résultat est requis.

[in] all

Spécifie le nombre de messages récupérés dans un seul appel à ldap_result. Ce paramètre a une signification uniquement pour les résultats de la recherche. Transmettez la constante LDAP_MSG_ONE (0x00) pour récupérer un message à la fois. Passez LDAP_MSG_ALL (0x01) pour demander que tous les résultats d’une recherche soient reçus avant de retourner tous les résultats dans une chaîne unique. Passez LDAP_MSG_RECEIVED (0x02) pour indiquer que tous les résultats récupérés jusqu’à présent doivent être retournés dans la chaîne de résultats.

[in] timeout

Délai d’attente qui spécifie la durée, en secondes, d’attente pour le retour des résultats. Une valeur NULL entraîne le blocage de ldap_result jusqu’à ce que les résultats soient disponibles. Une valeur de délai d’expiration de 0 secondes spécifie un comportement d’interrogation.

[out] res

Contient le ou les résultats de l’opération. Tous les résultats retournés doivent être libérés par un appel à ldap_msgfree une fois qu’ils ne sont plus requis par l’application.

Valeur retournée

Si la fonction réussit, elle retourne l’une des valeurs suivantes pour indiquer le type du premier résultat dans le paramètre res . Si le délai d’expiration expire, la fonction retourne 0.

Si la fonction échoue, elle retourne –1 et définit les paramètres d’erreur de session dans la structure de données LDAP.

Remarques

La fonction ldap_result récupère le résultat d’une opération précédente lancée de manière asynchrone. N’oubliez pas que, selon la façon dont il est appelé, ldap_result peut effectivement retourner une liste ou une « chaîne » de messages.

Pour le protocole LDAP sans connexion, vous devez passer un handle de connexion LDAP et un ID de message pour vous assurer d’obtenir les résultats corrects. L’heure d’exécution LDAP continue d’envoyer la requête jusqu’à ce qu’elle reçoive une réponse.

Multithreading : les appels à ldap_result sont thread safe.

Configuration requise

Condition requise Valeur
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

Fonctions

ldap_msgfree