Demandes asynchrones
Lorsque Write Structured Fields est demandée de manière asynchrone (option A dans la chaîne de données), l'application ne peut pas supposer que :
- Le code retour est correct.
- Les données dans le tampon de communication (tampon d'écriture) sont correctes.
- L'hôte ne traite plus la demande Write Structured Fields.
Lorsqu'il est demandé de manière asynchrone, EHLLAPI renvoie les valeurs suivantes :
- Un ID de demande de 16 bits aux positions 13 à 14 (9 à 10 pour l'interface standard) de la chaîne de données
- L'adresse d'un objet événement aux positions 17 à 20 de la chaîne de données.
Ceux-ci sont utilisés pour terminer l’appel asynchrone Write Structured Fields.
Les étapes suivantes doivent être effectuées pour déterminer le résultat d’un appel de fonction asynchrone Write Structured Fields :
- Si le code retour EHLLAPI n'est pas zéro, la demande a échoué. Aucune demande asynchrone n'a été effectuée. L'application doit prendre les mesures appropriées avant de tenter à nouveau l'appel.
- Si le code retour est zéro, l'application doit attendre que l'objet événement soit dans l'état signalé à l'aide de la fonction Get Request Completion (125). L'objet événement (fonction Get Request Completion (125)) ne doit pas être réutilisé. L'objet événement est valide uniquement pendant la durée de l'appel de fonction Write Structured Fields jusqu'à la fin de l'appel de fonction Get Request Completion (125).
- Une fois que l'objet événement est dans l'état signalé, utilisez l'ID de demande de 16 bits renvoyé comme paramètre ID de demande dans un appel à la fonction Get Request Completion (125). La chaîne de données renvoyée par l’appel de fonction Get Request Completion (125) contient le code retour final de l’appel de fonction Write Structured Fields.