指定したトランスポートプロバイダをシステム構成データベースにインストールする。
WSCInstallProvider lpProviderId, lpszProviderDllPath, lpProtocolInfoList, dwNumberOfEntries, lpErrno
lpProviderId : [var] プロバイダの GUID へのポインタ。 lpszProviderDllPath : [wstr] プロバイダ DLL へのロードパスを含む Unicode 文字列へのポインタ。通常のパス解決規則に従い、%SystemRoot% などの埋め込み環境変数文字列を含めてよい。埋め込み環境変数文字列は、Ws2_32.dll がアプリケーションのためにプロバイダ DLL をロードするときに展開される。展開後、Ws2_32.dll は結果の文字列を LoadLibrary に渡してプロバイダをメモリにロードする。詳しくは **LoadLibrary** を参照。 lpProtocolInfoList : [var] WSAProtocol_Info 構造体の配列へのポインタ。各構造体は、プロバイダがサポートするプロトコル、アドレスファミリ、ソケット種別を定義する。 dwNumberOfEntries : [int] lpProtocolInfoList 配列のエントリ数。 lpErrno : [var] 関数が失敗した場合のエラーコードへのポインタ。
(プラグイン / モジュール : ws2_32.dll)
指定したトランスポートプロバイダをシステム構成データベースにインストールする。 [戻り値] 成功した場合、**WSCInstallProvider** はゼロを返す。そうでない場合は **SOCKET_ERROR** を返し、lpErrno に特定のエラーコードが格納される。 このドキュメントは省略されている。 [備考] **WSCInstallProvider** は単一のトランスポートサービスプロバイダをインストールするために使う。このルーチンは指定プロバイダのための共通 Winsock 2 構成情報を作成する。ベースプロトコル、レイヤードプロトコル、プロトコルチェーンに適用できる。LSP をインストールする場合は WSCInstallProviderAndChains を使うべきである。**WSCInstallProviderAndChains** は 1 回の呼び出しでレイヤードプロトコルと 1 つ以上のプロトコルチェーンをインストールできる。同じことを **WSCInstallProvider** で行うには複数回の呼び出しが必要である。Winsock 2 はレイヤードプロトコルに対応する。レイヤードプロトコルは高レベル通信機能のみを実装し、実データ交換は下位トランスポートスタックに依存する。ベースプロトコルは TCP や SPX のように単独で通信可能なプロトコル、レイヤードプロトコルは単独で使えないプロトコルである。lpProtocolInfoList はインストールするプロトコルエントリのリストで、呼び出し元が適切に用意する必要がある。NULL であってはならない。呼び出しが成功すると、以降の WSAEnumProtocols や WSCEnumProtocols 呼び出しは新しく作られたプロトコルエントリも返す。Windows 環境では、成功後に WSAStartup で作成された Ws2_32.dll インスタンスのみが新しいエントリを **WSAEnumProtocols** や **WSCEnumProtocols** の戻り値に含む。**注**: WSAEnumProtocols はレイヤードプロトコルエントリを列挙しないが、WSCEnumProtocols は列挙する。 成功した場合、**WSCInstallProvider** は変更通知を登録した関心を持つアプリケーションに対し WSAProviderConfigChange 経由で通知を試みる。**WSCInstallProvider** は Administrators グループのメンバとしてログオンしているユーザーのみが呼び出せる。そうでない場合は失敗し、lpErrno に WSANO_RECOVERY が返される。Windows Vista や Windows Server 2008 では UAC が原因で失敗することもある。マニフェストで **requireAdministrator** を設定していない場合、組み込み Administrator 以外の Administrators メンバは **RunAs administrator** で実行する必要がある。ファイルのインストールやサービスプロバイダ固有の構成は呼び出し元が行う。
| プラグイン / モジュール | 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 |