WSCGetProviderPath32 関数 (ws2spi.h)

WSCGetProviderPath32 関数は、指定された 32 ビット プロバイダーの DLL パスを取得します。

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

 

構文

int WSCGetProviderPath32(
  [in]      LPGUID lpProviderId,
  [out]     WCHAR  *lpszProviderDllPath,
  [in, out] LPINT  lpProviderDllPathLen,
  [out]     LPINT  lpErrno
);

パラメーター

[in] lpProviderId

プロバイダーのローカル一意識別子。 この値は、 WSCEnumProtocols32 を使用して取得されます。

[out] lpszProviderDllPath

プロバイダー DLL のパス文字列が返されるバッファーへのポインター。 パスは null で終わる文字列であり、%SystemRoot%などの埋め込み環境文字列は展開されていません。

[in, out] lpProviderDllPathLen

lpszProviderDllPath パラメーターが指すバッファーのサイズ (文字数)。

[out] lpErrno

エラー コードへのポインター。

戻り値

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

エラー コード 意味
WSAEINVAL
lpProviderId パラメーターは、有効なプロバイダーを指定していません。
WSAEFAULT
lpszProviderDllPath または lpErrno パラメーターがユーザー アドレス空間の有効な部分にないか、lpProviderDllPathLen が小さすぎます。

解説

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

WSCGetProviderPath32 関数は、指定されたプロバイダーの DLL パスを取得します。 DLL パスには 、%SystemRoot% などの埋め込み環境文字列を含めることができるため、Windows LoadLibrary 関数で使用する前に展開する必要があります。 詳細については、「 LoadLibrary」を参照してください。

要件

   
サポートされている最小のクライアント 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

関連項目

WSCEnumProtocols32

WSCInstallProvider64_32