WinAPPCCancelAsyncRequest
WinAPPCCancelAsyncRequest函式會取消未處理的WinAsyncAPPC型要求。
語法
int WINAPI WinAPPCCancelAsyncRequest(
HANDLE hAsyncTaskID);
參數
hAsyncTaskID
提供的 參數。 指定要取消的非同步工作。
傳回值
傳回值會指定非同步要求是否已取消。 如果值為零,則會取消要求。 否則,此值為下列其中一項:
WAPPCINVALID
錯誤碼,指出指定的非同步工作識別碼無效。
WAPPCALREADY
錯誤碼,指出正在取消的非同步常式已經完成。
備註
先前透過發出其中一個WinAsyncAPPC、WinAsyncAPPCEx或WinAsyncAPPCIOCP函式起始的非同步工作,可以在完成之前取消,方法是發出WinAPPCCancelAsyncRequest函式,指定hAsyncTaskID中初始函式所傳回的非同步工作識別碼。
如果未完成的動詞與交談 (相關,例如 ,SEND_DATA 或 RECEIVE_AND_WAIT) ,則會清除動詞並關閉會話。 例如,如果動詞與 TP (相關, RECEIVE_ALLOCATE 或 TP_STARTED) ,則會結束 TP。 在這兩種情況下,雖然實作會盡可能完全關閉交談和會話,但不會排清傳送緩衝區、等候確認等等。 此呼叫是同步的,而且上述處理完成之後,就會針對取消的動詞訊息張貼完成訊息。
如果嘗試取消現有的非同步 WinAsyncAPPC 常式失敗,並出現 WAPPCALREADY 的錯誤碼,則發生兩件事之一。 原始常式已經完成,且應用程式已處理產生的訊息,或原始常式已完成,且產生的訊息仍在應用程式視窗佇列中等候。