Win32 API 日本語リファレンス
ホーム › Networking.WinSock › LPWSAOVERLAPPED_COMPLETION_ROUTINE

LPWSAOVERLAPPED_COMPLETION_ROUTINE

コールバック

シグネチャ

void LPWSAOVERLAPPED_COMPLETION_ROUTINE(
    DWORD dwError,
    DWORD cbTransferred,
    OVERLAPPED* lpOverlapped,
    DWORD dwFlags
);

パラメーター

フィールド型説明
dwErrorDWORDI/O の完了状態。このパラメーターには、システム エラー コードのいずれかが設定されます。
cbTransferredDWORD転送されたバイト数。エラーが発生した場合、このパラメーターは 0 になります。
lpOverlappedOVERLAPPED*

非同期 I/O 関数で指定された WSAOVERLAPPED 構造体へのポインター。

システムは、完了ルーチンが呼び出された後は WSAOVERLAPPED 構造体を使用しません。そのため、完了ルーチンではオーバーラップ構造体に使用されているメモリを解放できます。

dwFlagsDWORD呼び出しに関連付けられたフラグ。

公式ドキュメント

LPWSAOVERLAPPED_COMPLETION_ROUTINE は関数ポインター型です。これに一致するコールバック関数をアプリ内に実装し、WSAIoctl、WSARecv、WSASend などの関数に渡します。

システムは、非同期の入出力 (I/O) 操作が完了またはキャンセルされ、かつ呼び出し元のスレッドがアラート可能な状態にあるときに、このコールバック関数を呼び出します (アラート可能な状態にするには、SleepEx、MsgWaitForMultipleObjectsEx、WaitForSingleObjectEx、または WaitForMultipleObjectsEx 関数の fAlertable パラメーターに TRUE を設定します)。

解説(Remarks)

LPOVERLAPPED_COMPLETION_ROUTINE を参照してください。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)