WinAPPCCancelAsyncRequest

La funzione WinAPPCCancelAsyncRequest annulla una richiesta in sospeso basata su WinAsyncAPPC.

Sintassi

  
    int WINAPI WinAPPCCancelAsyncRequest(   
HANDLE hAsyncTaskID);  

Parametri

hAsyncTaskID
Parametro fornito. Specifica l'attività asincrona da annullare.

Valore restituito

Il valore restituito specifica se la richiesta asincrona è stata annullata. Se il valore è zero, la richiesta è stata annullata. In caso contrario, il valore è uno dei seguenti:

WAPPCINVALID
Codice di errore che indica che l'identificatore di attività asincrona specificato non è valido.

WAPPCALREADY
Codice di errore che indica che la routine asincrona annullata è già stata completata.

Commenti

Un'attività asincrona avviata in precedenza inviando una delle funzioni WinAsyncAPPC, WinAsyncAPPCEx o WinAsyncAPPCIOCP può essere annullata prima del completamento emettendo la funzione WinAPPCCancelAsyncRequest , specificando l'identificatore dell'attività asincrona come restituito dalla funzione iniziale in hAsyncTaskID.

Se il verbo in sospeso è correlato a una conversazione (ad esempio, SEND_DATA o RECEIVE_AND_WAIT), il verbo viene eliminato e la sessione viene chiusa. Se il verbo è correlato a un TP (ad esempio, RECEIVE_ALLOCATE o TP_STARTED), il TP viene terminato. In entrambi i casi, mentre l'implementazione chiude le conversazioni e le sessioni nel modo più pulito possibile, non scarica i buffer di invio, attende le conferme e così via. Questa chiamata è sincrona e al termine dell'elaborazione descritta in precedenza, viene pubblicato un messaggio di completamento per il verbo annullato.

Se un tentativo di annullare una routine WinAsyncAPPC asincrona esistente ha esito negativo con codice di errore WAPPCALREADY, si è verificato uno dei due eventi seguenti. La routine originale è già stata completata e l'applicazione ha gestito il messaggio risultante oppure la routine originale è già stata completata e il messaggio risultante è ancora in attesa nella coda della finestra dell'applicazione.