WinAPPCCancelAsyncRequest

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

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à asincrono specificato non è valido.

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

Commenti

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

Se il verbo in sospeso si riferisce a una conversazione (ad esempio, SEND_DATA o RECEIVE_AND_WAIT), il verbo viene eliminato e la sessione viene chiusa. Se il verbo si riferisce 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 il più pulito possibile, non scarica buffer di invio, attendere le conferme e così via. Questa chiamata è sincrona e dopo il completamento dell'elaborazione descritta in precedenza, viene inviato un messaggio di completamento per il verbo annullato.

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