FIX: 您当您尝试运行基于 ATL 框架在 Windows 2000 或早期版本的应用程序时可能会收到一条错误消息

注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。

点击这里察看该文章的英文版: 909141
本文已归档。它按“原样”提供,并且不再更新。
症状
当试图运行基于活动模板库 (ATL) 框架在 Microsoft Windows 2000 或早期版本的应用程序时不能运行该应用程序。您可能会收到以下错误消息:
在动态链接库 WS2_32.dll 中找不到过程入口点 FreeAddrInfoW。
当满足下列条件都为真时,会发生此问题:
  • 该应用程序使用 CSocketAddr 类。
  • 通过使用 Microsoft Visual c + +.net 2003年写入应用程序。
原因
出现此问题的原因是 ATL 框架的 Unicode 实现 CSocketAddr 类中使用 FreeAddrInfoW Windows 套接字函数。然而,在 Microsoft Windows XP 和更高版本中,只被实现此 API。

注意在 Microsoft Windows XP 中和 Microsoft Windows Server 2003 中引入 FreeAddrInfoW Windows 套接字函数。 Internet 协议版本 6 (IPv6) 堆栈 FreeAddrInfoW Windows 套接字函数会添加支持。
解决方案

修补程序信息

现在提供 Microsoft,受支持的修复程序,但它仅用于纠正本文介绍的问题。它仅应用于出现这一特定问题的系统。

若要解决此问题,请与 Microsoft 产品支持服务以获取此修复程序。有关 Microsoft 产品支持服务电话号码和关于支持费用的信息的完整列表,请访问下面的 Microsoft 网站:注意 在特殊的情况中如果 Microsoft 支持专业人员确定某个特定更新才能解决您的问题,可能会被取消通常会导致支持电话的费用。将正常收取支持费用将应用于其他支持问题和不需要进行专门更新的问题。

此修补程序的英文版具有的文件属性 (或更新的文件属性) 在下表中列出。日期和时间对这些文件列出在协调世界时 (UTC)。当您查看文件信息时,将转换为本地时间。若要 UTC 与本地时间之间的时差使用控制面板中的日期和时间工具中的 时区 选项卡。
文件的名称文件大小日期时间
Atlsocket.h3,5382005 年九月 22 日21: 34
Atlsocket.inl3,2102005 年九月 22 日23: 30
状态
Microsoft 已经确认这是在"适用于"一节中列出的 Microsoft 产品中的问题。
更多信息
有关详细的信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
824684用于描述 Microsoft 软件更新的标准术语的说明

属性

文章 ID:909141 - 上次审阅时间:01/17/2015 12:16:24 - 修订版本: 2.3

Microsoft Visual Studio .NET 2003 Professional Edition, Microsoft Visual Studio .NET 2003 Enterprise Architect, Microsoft Visual Studio .NET 2003 Enterprise Developer, Microsoft Visual Studio .NET 2003 Academic Edition, Microsoft Visual C++ .NET 2003 Standard Edition

  • kbnosurvey kbarchive kbmt kbqfe kbfix kbbug kbpubtypekc kbhotfixserver KB909141 KbMtzh
反馈