WSCGetProviderPath32 函数 (ws2spi.h)

WSCGetProviderPath32 函数检索指定的 32 位提供程序的 DLL 路径。

注意 此调用是 WSCGetProviderPath 的严格 32 位版本,用于 64 位平台。 它用于允许 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 返回零。 否则,它将返回SOCKET_ERROR。 lpErrno 中提供了特定的错误代码。

错误代码 含义
WSAEINVAL
lpProviderId 参数未指定有效的提供程序。
WSAEFAULT
lpszProviderDllPathlpErrno 参数不在用户地址空间的有效部分,或者 lpProviderDllPathLen 太小。

注解

WSCGetProviderPath32WSCGetProviderPath 的严格 32 位版本。 在 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