WinAPPCCancelAsyncRequest

La fonction WinAPPCCancelAsyncRequest annule une requête WinAsyncAPPCen suspens.

Syntaxe

  
    int WINAPI WinAPPCCancelAsyncRequest(   
HANDLE hAsyncTaskID);  

Paramètres

hAsyncTaskID
Paramètre fourni. Spécifie la tâche asynchrone à annuler.

Valeur renvoyée

La valeur de retour spécifie si la requête asynchrone a été annulée. Si la valeur est égale à zéro, la demande a été annulée. Dans le cas contraire, la valeur est l’une des suivantes :

WAPPCINVALID
Code d’erreur indiquant que l’identificateur de tâche asynchrone spécifié n’est pas valide.

WAPPCALREADY
Code d’erreur indiquant que la routine asynchrone en cours d’annulation est déjà terminée.

Notes

Une tâche asynchrone précédemment lancée par l’émission de l’une des fonctions WinAsyncAPPC, WinAsyncAPPCExou WinAsyncAPPCIOCP peut être annulée avant son achèvement en émettant la fonction WinAPPCCancelAsyncRequest , en spécifiant l’identificateur de tâche asynchrone tel qu’il est retourné par la fonction initiale dans hAsyncTaskID.

Si le verbe en suspens est associé à une conversation (par exemple, SEND_DATA ou RECEIVE_AND_WAIT), le verbe est purgé et la session est fermée. Si le verbe est associé à un TP (par exemple, RECEIVE_ALLOCATE ou TP_STARTED), le TP est terminé. Dans les deux cas, alors que l’implémentation ferme les conversations et les sessions le plus correctement possible, elle ne vide pas les tampons d’envoi, n’attend pas les confirmations, etc. Cet appel est synchrone et, une fois le traitement décrit ci-dessus terminé, un message d’achèvement est publié pour le verbe annulé.

Si une tentative d’annulation d’une routine WinAsyncAPPC asynchrone existante échoue avec le code d’erreur WAPPCALREADY, l’un des deux événements s’est produit. Soit la routine d’origine est déjà terminée, soit l’application a traité le message résultant, soit la routine d’origine est déjà terminée et le message résultant est toujours en attente dans la file d’attente de la fenêtre de l’application.