WSAEnumNetworkEvents 関数は、指定したソケットに対するネットワークイベントの発生を検出し、内部のネットワークイベント記録をクリアし、イベントオブジェクトをリセットする (オプション)。
WSAEnumNetworkEvents s, hEventObject, lpNetworkEvents
s : [int] ソケットを識別するディスクリプタ。 hEventObject : [intptr] リセットする関連イベントオブジェクトを識別するオプションのハンドル。 lpNetworkEvents : [var] 発生したネットワークイベントと関連エラーコードの記録を格納する WSANETWORKEVENTS 構造体へのポインタ。
(プラグイン / モジュール : ws2_32.dll)
WSAEnumNetworkEvents 関数は、指定したソケットに対するネットワークイベントの発生を検出し、内部のネットワークイベント記録をクリアし、イベントオブジェクトをリセットする (オプション)。 [戻り値] 操作が成功すれば戻り値はゼロである。そうでない場合は SOCKET_ERROR を返し、WSAGetLastError を呼び出すことで特定のエラー番号を取得できる。 (以下省略) [備考] WSAEnumNetworkEvents 関数は、前回この関数を呼び出してから指定したソケットに対してどのネットワークイベントが発生したかを調べるために使用される。1 つ以上のネットワークイベントにイベントオブジェクトを関連付ける WSAEventSelect と組み合わせて使うことを想定している。ネットワークイベントの記録は、lNetworkEvents パラメータを 0 以外で WSAEventSelect を呼び出した時点から開始され、lNetworkEvents を 0 に設定して WSAEventSelect を呼び出すか、WSAAsyncSelect が呼び出されるまで有効である。WSAEnumNetworkEvents は、WSAEventSelect で指定されたネットワーク活動とエラーだけを報告する。select と WSAAsyncSelect がネットワーク活動とエラーをどのように報告するかは、それぞれの説明を参照。ソケットの内部ネットワークイベント記録は lpNetworkEvents が参照する構造体にコピーされ、その後内部のネットワークイベント記録はクリアされる。hEventObject パラメータが NULL でなければ、指定したイベントオブジェクトもリセットされる。Windows Sockets プロバイダは、ネットワークイベント記録のコピー、そのクリア、関連付けられたイベントオブジェクトのリセットという一連の操作が原子的であることを保証する。したがって、次に指定ネットワークイベントが発生するとイベントオブジェクトが設定状態になる。この関数が SOCKET_ERROR を返す場合、関連イベントオブジェクトはリセットされず、ネットワークイベント記録もクリアされない。WSANETWORKEVENTS 構造体の lNetworkEvents メンバは、発生した FD_XXX ネットワークイベントを示す。iErrorCode 配列は、lNetworkEvents 中のイベントビット位置に対応する添字で関連エラーコードを格納するのに使用される。FD_READ_BIT や FD_WRITE_BIT といった識別子を iErrorCode 配列の添字として使える。iErrorCode 配列のうち、lNetworkEvents パラメータでセットされているビットに対応する要素のみが設定される。その他のパラメータは変更されない (これは、新しい FD_ROUTING_INTERFACE_CHANGE や FD_ADDRESS_LIST_CHANGE イベントを認識しないアプリケーションとの後方互換性のために重要である)。対応するネットワークイベントとともに返されうるエラーコードを次に示す。イベント: FD_CONNECT (以下省略)
| プラグイン / モジュール | ws2_32.dll |
| バージョン | 1.0 |
| 作成日 | 2026/04/16 |
| 著作者 | IronHSP / CsWin32 bridge |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の ws2_32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_ws2_32_gen2.hs |