Réception de données de façon asynchrone
Lors de l’utilisation de Windows, un TP peut recevoir des données de manière asynchrone, sans tenir compte des autres événements qui se produisent dans le TP. Le tableau suivant montre les méthodes par lesquelles un TP peut recevoir des données de manière asynchrone. Le tableau indique également comment les méthodes asynchrones peuvent être appliquées à des actions autres que la réception de données.
Système d’exploitation | Méthode |
---|---|
Windows | Via un message Windows : Problème RECEIVE_AND_WAIT ou MC_RECEIVE_AND_WAIT avec WinAsyncAPPC ; l’application est avertie de l’achèvement par le biais d’un PostMessage au handle de fenêtre défini. Cette méthode n’est pas limitée à RECEIVE_AND_WAIT et MC_RECEIVE_AND_WAIT, mais peut être appliquée à n’importe quel verbe APPC. |
Windows | Par le biais d’un événement Win32® : problème RECEIVE_AND_WAIT ou MC_RECEIVE_AND_WAIT avec WinAsyncAPPCEx ; l’application est avertie de l’achèvement par le biais d’un événement Win32. Cette méthode n’est pas limitée à RECEIVE_AND_WAIT et MC_RECEIVE_AND_WAIT, mais peut être appliquée à n’importe quel verbe APPC. |
Windows | Avec RECEIVE_AND_POST ou MC_RECEIVE_AND_POST : émettre le verbe RECEIVE_AND_POST ou MC_RECEIVE_AND_POST . |
La liste suivante fournit des détails sur ces méthodes de réception des données de manière asynchrone. Pour plus d’informations, consultez les descriptions des verbes.
RECEIVE_AND_WAITou MC_RECEIVE_AND_WAITavec WinAsyncAPPC
Cette méthode permet à une application d’émettre un verbe et d’être avertie par le biais d’un PostMessage une fois l’action terminée. Pour récupérer le numéro de message qui sera publié dans la fenêtre, appelez RegisterWindowMessage avec « WinAsyncAPPC » comme chaîne d’entrée. Émettez ensuite RECEIVE_AND_WAIT ou MC_RECEIVE_AND_WAIT à l’aide du point d’entrée WinAsyncAPPC .
RECEIVE_AND_WAITou MC_RECEIVE_AND_WAITavec WinAsyncAPPCEx
Cette méthode permet à une application d’être avertie via un événement Win32. Cela est particulièrement utile lors de l’écriture d’applications qui doivent traiter plusieurs conversations simultanément. L’événement doit être à l’état non signé lorsqu’il est passé à APPC, et le handle doit avoir EVENT_MODIFY_STATE accès à l’événement.
RECEIVE_AND_POSTou MC_RECEIVE_AND_POST
Lorsque vous utilisez RECEIVE_AND_POST ou MC_RECEIVE_AND_POST, l’application est avertie par le biais d’un événement Win32. L’événement doit être à l’état non signé lorsqu’il est passé à APPC, et le handle doit avoir EVENT_MODIFY_STATE accès à l’événement.
Lors de la réception de données de manière asynchrone, le TP effectue des tâches qui ne sont pas liées à cette conversation ; le TP ne peut pas émettre la plupart des verbes APPC tant que la notification n’est pas reçue. Pour plus d’informations sur les verbes qui peuvent être émis, consultez les descriptions de WinAsyncAPPC ou WinAsyncAPPCEx.
Une fois qu’un verbe est terminé de manière asynchrone, case activée l’primary_rc pour savoir si les données ont été reçues sans erreur.
Notes
Si l’appel initial pour émettre le verbe est retourné avec succès, l’application est garantie d’être avertie (par la méthode applicable) lorsque le verbe se termine, que le verbe soit finalement réussi.