WSCEnableNSProvider32 関数 (ws2spi.h)

WSCEnableNSProvider32 関数は、指定した 32 ビット名前空間プロバイダーを有効または無効にします。 これは、エンド ユーザーに名前空間プロバイダーの状態を変更する機能を提供することを目的としています。

メモ この呼び出しは、64 ビット コンピューターで使用するための WSCEnableNSProvider の厳密な 32 ビット バージョンです。 64 ビット プロセスが 32 ビット カタログにアクセスできるように用意されています。

 

構文

INT WSCEnableNSProvider32(
  [in] LPGUID lpProviderId,
  [in] BOOL   fEnable
);

パラメーター

[in] lpProviderId

名前空間プロバイダーのグローバル一意識別子 (GUID) へのポインター。

[in] fEnable

TRUE の場合、名前空間プロバイダーがアクティブな状態に設定されるブール値。 FALSE の場合、名前空間プロバイダーは無効になり、クエリ操作やサービス登録では使用できません。

戻り値

エラーが発生しない場合、 WSCEnableNSProvider32 関数は NO_ERROR (ゼロ) を返します。 それ以外の場合は、関数が失敗した場合に SOCKET_ERROR を返し、 WSAGetLastError 関数を使用して適切なエラー コードを取得する必要があります。

エラー コード 意味
WSAEFAULT
lpProviderId パラメーターは、ユーザー アドレス空間の有効な部分にないメモリを指します。
WSAEINVAL
指定された名前空間プロバイダー識別子が無効です。
WSASYSCALLFAILURE
失敗しないシステム呼び出しが失敗しました。
WSA_NOT_ENOUGH_MEMORY
メモリが不足していました。 このエラーは、新しいカタログ エントリを割り当てるメモリが不足している場合に返されます。

解説

WSCEnableNSProvider32 関数は、名前空間プロバイダーの状態を変更するために使用することを目的としています。 独立系ソフトウェア ベンダー (ISV) は、それ自体をアクティブ化するために、通常、別の ISV の名前空間プロバイダーのライセンス認証を解除しないでください。 選択はユーザーに任されている必要があります。

WSCEnableNSProvider32 は、厳密には 32 ビット バージョンの WSCEnableNSProvider です。 64 ビット コンピューターでは、特に 32 ビットではないすべての呼び出し (たとえば、"32" で終わっていないすべての関数) は、ネイティブの 64 ビット カタログで動作します。 64 ビット コンピューターで実行されるプロセスでは、特定の 32 ビット関数呼び出しを使用して、厳密に 32 ビット カタログで動作し、互換性を維持する必要があります。 特定の 32 ビット呼び出しの定義とセマンティクスは、ネイティブの呼び出しと同じです。

名前空間構成関数は、既に実行されているアプリケーションには影響しません。 新しくインストールされた名前空間プロバイダーは、アプリケーションには表示されず、名前空間プロバイダーのアクティブ化状態の変更も表示されません。 WSCEnableNSProvider32 の呼び出し後に起動されたアプリケーションには、変更が表示されます。

WSCEnableNSProvider32 関数は、Administrators グループのメンバーとしてログオンしているユーザーのみが呼び出すことができます。 Administrators グループのメンバーではないユーザーが WSCEnableNSProvider32 を呼び出すと、関数呼び出しは失敗します。

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

要件

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

関連項目

WSCEnableNSProvider

WSCEnumProtocols32

WSCInstallNameSpace32

WSCUnInstallNameSpace32

WSCWriteNameSpaceOrder32