WSCDeinstallProvider

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

WSCDeinstallProvider lpProviderId, lpErrno

lpProviderId : [var] プロバイダの GUID へのポインタ。この値は各 WSAProtocol_Info 構造体に格納されている。
lpErrno : [var] 関数が失敗した場合のエラーコードへのポインタ。

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

解説

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

[戻り値]
エラーがない場合、**WSCDeinstallProvider** はゼロを返す。そうでない場合は **SOCKET_ERROR**
を返し、lpErrno に特定のエラーコードが格納される。
このドキュメントは省略されている。

[備考]
**WSCDeinstallProvider** 関数は、指定したプロバイダの共通 Winsock 2
構成情報を削除する。正常終了後、レジストリ内の構成情報は変更されるが、現在メモリ上にある Ws2_32.dll
のインスタンスはこの変更を認識できない。成功した場合、**WSCDeinstallProvider**
は変更通知を登録した関心を持つアプリケーションに対し WSAProviderConfigChange
経由で通知を試みる。**WSCDeinstallProvider** は Administrators
グループのメンバとしてログオンしているユーザーのみが呼び出せる。そうでないユーザーが呼び出した場合は失敗し、lpErrno に
**WSANO_RECOVERY** が返される。
Windows Vista や Windows Server 2008 を実行しているコンピュータでは、ユーザーアカウント制御 (UAC)
が原因で失敗することもある。組み込みの Administrator 以外の Administrators
グループメンバが、マニフェストファイルで **requestedExecutionLevel** を
**requireAdministrator**
に設定していないアプリケーションを実行すると失敗する。マニフェストファイルが無い場合、組み込み Administrator 以外の
Administrators グループメンバは、組み込み Administrator として (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