イベント オブジェクトを使用した非同期通知

WSAEventSelect 関数と WSAEnumNetworkEvents 関数は、ユーザー インターフェイスがない (したがって Windows ハンドルを使用しない) デーモンやサービスなどのアプリケーションに対応するために用意されています。 WSAEventSelect 関数は、WSAAsyncSelect 関数とまったく同じように動作します。 ただし、FD_XXX ネットワーク イベント (FD_READやFD_WRITEなど) の発生時に Windows メッセージを送信する代わりに、アプリケーション指定のイベント オブジェクトが設定されます。

また、特定のFD_XXX ネットワーク イベントが発生したという事実は、サービス プロバイダーによって記憶されます。 アプリケーションは WSAEnumNetworkEvents を呼び出して、ネットワーク イベント メモリの現在の内容をアプリケーション指定のバッファーにコピーし、ネットワーク イベント メモリを自動的にクリアすることができます。 必要に応じて、アプリケーションは、ネットワーク イベント メモリと共にクリアされる特定のイベント オブジェクトを指定することもできます。