WSAAsyncSelect

WSAAsyncSelect 関数 (winsock.h) は、ソケットに対するネットワークイベントの Windows メッセージベース通知を要求する。

WSAAsyncSelect s, hWnd, wMsg, lEvent

s : [int] イベント通知が必要なソケットを識別するディスクリプタ。
hWnd : [intptr] ネットワークイベント発生時にメッセージを受け取るウィンドウを識別するハンドル。
wMsg : [int] ネットワークイベント発生時に受け取るメッセージ。
lEvent : [int] アプリケーションが関心を持つネットワークイベントの組み合わせを指定するビットマスク。

(プラグイン / モジュール : ws2_32.dll)

解説

WSAAsyncSelect 関数 (winsock.h) は、ソケットに対するネットワークイベントの Windows
メッセージベース通知を要求する。

[戻り値]
WSAAsyncSelect
関数が成功した場合、アプリケーションのネットワークイベント一覧の関心宣言が成功したことを表すため、戻り値はゼロである。そうでない場合は
SOCKET_ERROR を返し、WSAGetLastError を呼び出すことで特定のエラー番号を取得できる。
(以下省略)

[備考]
WSAAsyncSelect 関数は、lEvent パラメータで指定したネットワークイベントを検出したときに WS2_32.DLL
がウィンドウ hWnd にメッセージを送るよう要求するために使用される。送信すべきメッセージは wMsg
パラメータで指定する。通知対象のソケットは s パラメータで識別する。WSAAsyncSelect 関数は、lEvent
の値にかかわらずソケット s を自動的にノンブロッキングモードに設定する。ソケット s をブロッキングモードに戻すには、まず
WSAAsyncSelect を lEvent をゼロに設定して呼び出し、ソケット s
に関連付けられたイベントレコードをクリアする必要がある。その後、ioctlsocket または WSAIoctl
を呼び出してソケットをブロッキングモードに戻せる。ノンブロッキングソケットをブロッキングモードに戻す方法の詳細については、ioctlsocket
および WSAIoctl 関数を参照。lEvent パラメータは、次の表に列挙する値のいずれかをビット単位の OR
演算子で組み合わせて構築する。
(以下省略)

情報

プラグイン / モジュール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