WSAProviderConfigChange

WSAProviderConfigChange 関数は、プロバイダ構成が変更されたときにアプリケーションへ通知する。

WSAProviderConfigChange lpNotificationHandle, lpOverlapped, lpCompletionRoutine

lpNotificationHandle : [intptr] 通知ハンドルへのポインタ。通知ハンドル (ポインタではなくハンドル値) が NULL の場合、関数は lpNotificationHandle が指す場所に通知ハンドルを返す。
lpOverlapped : [var] WSAOVERLAPPED 構造体へのポインタ。
lpCompletionRoutine : [int] 型: \_In_opt\_ [**LPWSAOVERLAPPED_COMPLETION_ROUTINE**](./nc-winsock2-lpwsaoverlapped_completion_routine.md) プロバイダ変更通知を受けたときに呼び出される完了ルーチンへのポインタ。

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

解説

WSAProviderConfigChange 関数は、プロバイダ構成が変更されたときにアプリケーションへ通知する。

[戻り値]
エラーがない場合、WSAProviderConfigChange は 0 を返す。そうでない場合は SOCKET_ERROR
を返し、WSAGetLastError で特定のエラーコードを取得できる。WSA_IO_PENDING
エラーコードはオーバーラップ操作が正常に開始され、後で完了 (すなわち変更イベント) が通知されることを示す。
このドキュメントは省略されている。

[備考]
WSAProviderConfigChange 関数は、再起動せずに構成変更が可能な Windows 環境において、プロバイダ
(トランスポートおよびネームスペース) のインストール/削除をアプリケーションに通知する。最初の呼び出し時
(lpNotificationHandle が NULL ハンドルを指しているとき)
は即座に完了し、以降の呼び出しでプロバイダのインストール/削除通知を受けるのに使える通知ハンドルを
lpNotificationHandle に返す。2 回目以降の呼び出しは、呼び出し時からプロバイダ情報が変化したときにのみ完了する。2
回目以降の呼び出しではオーバーラップ I/O の使用が期待されるが必須ではない。オーバーラップ I/O
を使うと呼び出しは即座に戻り、指定されたオーバーラップ完了引数に従って通知される。WSAProviderConfigChange
が返す通知ハンドルは通常の OS ハンドルと同じで、不要になったら Windows の CloseHandle
で閉じるべきである。常に最新のプロトコル構成情報を得るための手順は次のとおりである。
このドキュメントは省略されている。

情報

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