WSAEnumNetworkEvents

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
URLhttps://github.com/inovia/IronHSP
備考Win32 API の ws2_32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_ws2_32_gen2.hs