WinAPPCCancelAsyncRequest
WinAPPCCancelAsyncRequest 関数は、未処理の WinAsyncAPPC ベースの要求を取り消します。
構文
int WINAPI WinAPPCCancelAsyncRequest(
HANDLE hAsyncTaskID);
パラメーター
hAsyncTaskID
指定されたパラメーター。 取り消す非同期タスクを指定します。
戻り値
戻り値は、非同期要求が取り消されたかどうかを指定します。 値が 0 の場合、要求は取り消されました。 それ以外の場合、値は次のいずれかです。
WAPPCINVALID
指定した非同期タスク識別子が無効であることを示すエラー コード。
WAPPCALREADY
取り消される非同期ルーチンが既に完了していることを示すエラー コード。
注釈
WinAsyncAPPC、WinAsyncAPPCEx、または WinAsyncAPPCIOCP 関数のいずれかを発行して以前に開始した非同期タスクは、完了前に WinAPPCCancelAsyncRequest 関数を発行し、hAsyncTaskID の初期関数によって返される非同期タスク識別子を指定することで取り消すことができます。
未処理の動詞が会話 ( SEND_DATA や RECEIVE_AND_WAITなど) に関連している場合、動詞は消去され、セッションは閉じられます。 動詞が TP に関連する場合 ( RECEIVE_ALLOCATE や TP_STARTEDなど)、TP は終了します。 どちらの場合も、実装は可能な限りクリーンに会話とセッションを閉じますが、送信バッファーをフラッシュしたり、確認を待機したりすることはありません。 この呼び出しは同期的であり、上記の処理が完了すると、取り消された動詞の完了メッセージが投稿されます。
既存の非同期 WinAsyncAPPC ルーチンを取り消そうとしたときに、WAPPCALREADY のエラー コードで失敗した場合は、2 つのいずれかが発生しました。 元のルーチンが既に完了していて、アプリケーションが結果のメッセージを処理したか、元のルーチンが既に完了しており、結果のメッセージがアプリケーション ウィンドウ キューで待機している。