WSCInstallNameSpaceEx32 関数 (ws2spi.h)

WSCInstallNameSpaceEx32 関数は、指定された 32 ビット名前空間プロバイダーをインストールします。 複数の名前空間をサポートできるプロバイダーの場合、サポートされている名前空間ごとにこの関数を呼び出す必要があり、毎回一意のプロバイダー識別子を指定する必要があります。

**注** この呼び出しは、64 ビット プラットフォームで使用する WSCInstallNameSpaceEx32 の厳密な 32 ビット バージョンです。 64 ビット プロセスが 32 ビット カタログにアクセスできるように提供されています。
 

構文

INT WSCInstallNameSpaceEx32(
  [in] LPWSTR lpszIdentifier,
  [in] LPWSTR lpszPathName,
  [in] DWORD  dwNameSpace,
  [in] DWORD  dwVersion,
  [in] LPGUID lpProviderId,
  [in] LPBLOB lpProviderSpecific
);

パラメーター

[in] lpszIdentifier

lpProviderId パラメーターで渡されるグローバル一意識別子 (GUID) に関連付けられているプロバイダーを識別する文字列へのポインター。

[in] lpszPathName

プロバイダー DLL への読み込みパスを含む Unicode 文字列へのポインター。 この文字列は、パス解決の通常の規則を監視し、埋め込み環境文字列 ( %SystemRoot%など) を含めることができます。 このような環境文字列は、Ws2_32.dll が後でアプリケーションの代わりにプロバイダー DLL を読み込む必要がある場合に展開されます。 埋め込まれた環境文字列が展開されると、Ws2_32.dll は結果の文字列を LoadLibrary 関数に渡して、プロバイダーをメモリに読み込みます。 詳細については、「 LoadLibrary」を参照してください。

[in] dwNameSpace

このプロバイダーでサポートされている名前空間。

[in] dwVersion

プロバイダーのバージョン番号。

[in] lpProviderId

プロバイダーの GUID へのポインター。 この GUID は、Uuidgen.exe によって生成する必要があります。

[in] lpProviderSpecific

名前空間エントリに関連付けられているプロバイダー固有のデータ BLOB。

戻り値

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

エラー コード 意味
WSAEACCES
呼び出し元ルーチンには、名前空間をインストールするための十分な特権がありません。
WSAEINVAL
1 つ以上の引数が無効です。
WSANO_RECOVERY
回復不可能なエラーが発生しました。 このエラーは、プロバイダーが既にインストールされている、ユーザーが Winsock レジストリに書き込むのに必要な管理特権がない、カタログ エントリを作成またはインストールするときにエラーが発生したなど、いくつかの条件で返されます。
WSASYSCALLFAILURE
失敗しないシステム呼び出しが失敗しました。
WSA_NOT_ENOUGH_MEMORY
メモリが不足していました。 このエラーは、新しいカタログ エントリを割り当てるためのメモリが不足している場合に返されます。

注釈

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

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

lpProviderInfo パラメーターで渡される名前空間エントリに関連付けられているプロバイダー固有のデータ BLOB は、WSCEnumNameSpaceProvidersEx32 関数を使用して照会できます。

現在、 lpProviderInfo パラメーターを使用する Windows に含まれる名前空間プロバイダーは、NS_EMAIL プロバイダーのみです。 NS_EMAIL名前空間プロバイダーの lpProviderInfo パラメーターが指すバッファーの形式は 、NAPI_PROVIDER_INSTALLATION_BLOB 構造体です。

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

要件

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

こちらもご覧ください

NAPI_PROVIDER_INSTALLATION_BLOB

WSCEnumNameSpaceProviders32

WSCEnumNameSpaceProvidersEx32

WSCInstallNameSpace32

WSCInstallNameSpaceEx

WSCUnInstallNameSpace32