WSCDeinstallProvider 関数 (ws2spi.h)

WSCDeinstallProvider 関数は、指定されたトランスポート プロバイダーをシステム構成データベースから削除します。

構文

int WSCDeinstallProvider(
  [in]  LPGUID lpProviderId,
  [out] LPINT  lpErrno
);

パラメーター

[in] lpProviderId

プロバイダーのグローバル一意識別子 (GUID) へのポインター。 この値は、各WSAProtocol_Info構造体内 格納されます。

[out] lpErrno

関数が失敗した場合のエラー コードへのポインター。

戻り値

エラーが発生しない場合、 WSCDeinstallProvider は 0 を返します。 それ以外の場合は 、SOCKET_ERRORを返し、 lpErrno で特定のエラー コードを使用できます。

エラー コード 意味
WSAEINVAL
lpProviderId パラメーターは、有効なプロバイダーを指定していません。
WSAEFAULT
lpErrno パラメーターは、ユーザー・アドレス・スペースの有効な部分にありません。
WSANO_RECOVERY
回復不可能なエラーが発生しました。 このエラーは、Windows Sockets レジストリへの書き込みに必要な管理特権がユーザーに不足しているか、カタログ エントリを開くときにエラーが発生したなど、いくつかの条件で返されます。
WSA_NOT_ENOUGH_MEMORY
メモリが不足していました。 このエラーは、新しいカタログ エントリを割り当てるメモリが不足している場合に返されます。

注釈

WSCDeinstallProvider 関数は、指定されたプロバイダーの一般的な Windows ソケット 2 構成情報を削除します。 このルーチンが正常に完了すると、レジストリに格納されている構成情報が変更されます。 ただし、現在メモリ内にある Ws2_32.dll インスタンスは、この変更を認識できません。

成功すると、 WSCDeinstallProvider は、 WSAProviderConfigChange を呼び出して、変更の通知を登録したすべての関心のあるアプリケーションに対して警告を出そうとします。

WSCDeinstallProvider 関数は、Administrators グループのメンバーとしてログオンしているユーザーのみが呼び出すことができます。 Administrators グループのメンバーではないユーザーが WSCDeinstallProvider を呼び出すと、関数呼び出しは失敗し、lpErrno パラメーターでWSANO_RECOVERYが返されます。

Windows Vista または Windows Server 2008 を実行しているコンピューターの場合、ユーザー アカウント制御 (UAC) が原因でこの関数が失敗する可能性もあります。 この関数を含むアプリケーションが、組み込みの Administrator 以外の Administrators グループのメンバーとしてログオンしているユーザーによって実行された場合、 requestedExecutionLevelrequireAdministrator に設定されたマニフェスト ファイルでアプリケーションがマークされていない限り、この呼び出しは失敗します。 Windows Vista または Windows Server 2008 上のアプリケーションにこのマニフェスト ファイルがない場合、組み込みの Administrator 以外の Administrators グループのメンバーとしてログオンしたユーザーは、この関数を成功させるために、拡張シェルで組み込みの Administrator (RunAs 管理者) としてアプリケーションを実行する必要があります。

この関数の呼び出し元は、サービス プロバイダーを完全にアンインストールするために必要な追加のファイルまたはサービス プロバイダー固有の構成情報を削除する必要があります。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー ws2spi.h
Library Ws2_32.lib
[DLL] Ws2_32.dll

こちらもご覧ください

WSAProviderConfigChange

WSCEnumProtocols

WSCInstallProvider