不见了 Ws2_32.dll 函数导出


症状


如果您运行的程序在终端服务器版使用 Windows 套接字时,可能会收到一条错误消息,指示入口点缺少从 Ws2_32.dll,如下面的示例中所示类似:

运行时错误"453"找不到 DLL 入口点 WPUCompleteOverlappedRequest 在 ws2_32


运行时错误"453"找不到 DLL 入口点 WSAProviderConfigChange 在 ws2_32
注意: 该错误消息的准确格式取决于用来生成该程序的软件开发环境。

原因


WPUCompleteOverlappedRequest 和 WSAProviderConfigChange 入口点不会导出包含终端服务器版的 Ws2_32.dll 版本。因此,它们将无法访问在运行时。

解决方案


要解决此问题,请获取最新的 service pack 版本 4.0 终端服务器版的 Windows NT 服务器。有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
152734如何获取最新的 Windows NT 4.0 服务包

解决方法


若要变通解决此问题,请替换此文件所包含的 Windows NT 4.0 Service Pack 5 份终端服务器版的 Ws2_32.dll 文件的版本。

状态


Microsoft 已经确认这是在 Windows NT Server 4.0 终端服务器版的问题。这个问题最早在 Windows NT Server 4.0 终端服务器版服务包 6 版。