イベント オブジェクト (Windows ソケット 2)

重複した I/O を導入するには、アプリケーションが送信要求と受信要求を後続の完了指示と明確に関連付けるメカニズムが必要です。 Windows Sockets 2 では、これは、Windows イベントの後にモデル化されたイベント オブジェクトで実現されます。 Windows Sockets イベント オブジェクトは、作成と閉じ、設定とクリア、待機、ポーリングを行うことができる非常に単純なコンストラクトです。 主なユーティリティは、1 つ以上のイベント オブジェクトが設定されるまでブロックして待機するアプリケーションの機能です。

アプリケーションでは、WSACreateEvent を使用してイベント オブジェクト ハンドルを取得します。このハンドルは、重複するバージョンの送受信呼び出し (WSASend、WSASendToWSARecvWSARecvFrom) に必要なパラメーターとして指定できます。 イベント オブジェクトは、最初に作成されたときにクリアされます。このイベント オブジェクトは、関連付けられた重複した I/O 操作が完了したとき (正常に、またはエラーが発生した場合) にトランスポート プロバイダーによって設定されます。 WSACreateEvent によって作成される各イベント オブジェクトには、破棄する一致する WSACloseEvent が必要です。

イベント オブジェクトは、1 つ以上のFD_XXX ネットワーク イベントをイベント オブジェクトに関連付けるために 、WSAEventSelect でも使用されます。 これについては、「 イベント オブジェクトを使用した非同期通知」で説明されています。

32 ビット環境では、WSACreateEvent、WSACloseEventWSASetEventWSAResetEventWSAWaitForMultipleEvent を含むイベント オブジェクト関連の関数は、同じ関数名を使用して、WSA プレフィックスを使用せずに、対応するネイティブ Windows関数に直接マップされます。