WinAPPCCancelAsyncRequest

WinAPPCCancelAsyncRequest関数は、未処理のwinasyncappcベースの要求をキャンセルします。

構文

  
    int WINAPI WinAPPCCancelAsyncRequest(   
HANDLE hAsyncTaskID);  

パラメーター

hAsyncTaskID
指定されたパラメーター。 キャンセルする非同期タスクを指定します。

戻り値

戻り値は、非同期要求が取り消されたかどうかを指定します。 値がゼロの場合、要求は取り消されました。 それ以外の場合、値は次のいずれかになります。

WAPPCINVALID
指定された非同期タスク識別子が無効であることを示すエラーコード。

WAPPCALREADY
キャンセルされる非同期ルーチンが既に完了していることを示すエラーコード。

注釈

以前に Winasyncappcwinasyncappcex、または WinAsyncAPPCIOCP 関数のいずれかを発行することによって開始された非同期タスクは、 WinAPPCCancelAsyncRequest 関数を発行することによって、完了前にキャンセルできます。これには、 hasynctaskidの初期関数によって返される非同期タスク識別子を指定します。

未解決の動詞がメッセージ交換 ( SEND_DATARECEIVE_AND_WAITなど) に関連している場合、動詞は削除され、セッションは閉じられます。 動詞が TP ( RECEIVE_ALLOCATETP_STARTEDなど) に関連付けられている場合、tp は終了します。 どちらの場合も、実装は、メッセージ交換とセッションをできるだけ明確に終了しますが、送信バッファーをフラッシュしたり、確認を待機したりすることはありません。 この呼び出しは同期的であり、前述の処理が完了した後、キャンセルされた動詞に対して完了メッセージが投稿されます。

既存の非同期 Winasyncappc ルーチンをキャンセルしようとして、エラーコード WAPPCALREADY で失敗した場合は、次の2つのうちのいずれかが発生しています。 元のルーチンが既に完了し、結果のメッセージをアプリケーションが処理したか、または元のルーチンが既に完了し、結果のメッセージがアプリケーションウィンドウキューで待機しています。