Partager via


WinAPPCCancelAsyncRequest

La fonction WinAPPCCancelAsyncRequest annule une requête WinAsyncAPPC en attente.

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 zéro, la demande a été annulée. Sinon, la valeur est l’une des suivantes :

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

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

Remarques

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

Si le verbe en suspens est lié à une conversation (par exemple, SEND_DATA ou RECEIVE_AND_WAIT), le verbe est vidé et la session est fermée. Si le verbe est lié à 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 aussi proprement que possible, elle ne vide pas les mémoires 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 un code d’erreur WAPPCALREADY, l’une des deux choses s’est produite. Soit la routine d’origine est déjà terminée et 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 d’application.