WSCInstallProvider

指定したトランスポートプロバイダをシステム構成データベースにインストールする。

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