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

重複 i/o を導入するには、アプリケーションが送信要求と受信要求をその後の完了の表示に明確に関連付けるためのメカニズムが必要です。 Windows ソケット2では、これは Windows イベントの後にモデル化されたイベントオブジェクトを使用して実現されます。 Windows Sockets イベントオブジェクトは、作成と終了、設定、クリアを行ったり、待機およびポーリングしたりできる、非常に単純な構造です。 これらの主要なユーティリティは、アプリケーションがブロックして、1つ以上のイベントオブジェクトが設定されるまで待機する機能です。

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

また、イベントオブジェクトは、1つまたは複数の FD XXX ネットワークイベントをイベントオブジェクトに関連付けるために、 Wsaeventselect でも使用され _ ます。 これについては、「 イベントオブジェクトを使用した非同期通知」を参照してください。

32ビット環境では、 WSACreateEventWSACloseEventWSASetEventWSAResetEventWSAWaitForMultipleEvents などのイベントオブジェクト関連の関数は、対応するネイティブ Windows 関数に直接マップされます。ただし、同じ関数名を使用しますが、WSA プレフィックスは使用しません。