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 |
| 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 |