请求可能会返回一个空指针 IFontDisp 界面时使用的环境字体属性 Atl.dll 文件请求访问 Windows XP SP2 版本的程序

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

点击这里察看该文章的英文版: 887569
本文已归档。它按“原样”提供,并且不再更新。
症状
当一个程序使用 Microsoft Windows XP Service Pack 2 (SP2) 版本的 Atl.dll 文件以主机 ActiveX 控件时,您可能会遇到以下问题。当一个程序使用此版本中的活动模板库 (ATL) 主机容器的环境字体属性 Atl.dll 文件请求访问的请求可能会返回一个空指针 IFontDisp 界面。

当返回空指针时,因为大多数的 ActiveX 控件不能识别空指针,可能会发生访问冲突。该程序可能会停止响应。或 ActiveX 控件可能无法正常工作。
原因
出现此问题是由于在 Windows XP SP2 中包括 Atl.dll 文件的版本中的回归分析。

该控件使 IAxWinAmbientDispatch::get_Font 方法的调用。然后会导致此调用该 ATL! ATL::CAxHostWindow::get_Font 要调用的方法。若要调用该 ATL! ATL::CAxHostWindow::get_Font 方法返回 S_OK HRESULT 结果。但是,IFontDisp 接口被返回一个空指针。程序通常假定如果该接口返回 S_OK HRESULT 结果,则返回有效的指针。但是,该控件不能识别到 IFontDisp 接口,则返回的空指针。因此,您遇到"症状"部分中描述的问题。
解决方案

修补程序信息

可以从 Microsoft 获得支持的修补程序。但是,此修补程序被用于解决本文所述的此问题。此修补程序仅应用于出现这一特定问题的系统。此修补程序可能会接受进一步的测试。因此,如果此问题没有对您造成严重的影响,我们建议您等待包含此修补程序的下一个软件更新。

是否可供下载此修补程序没有"提供修补程序下载"部分中,在这篇知识库文章的顶部。如果不会显示此部分,请联系 Microsoft 客户服务和支持以获取此修复程序。

注意如果出现其他问题,或者如果需要进行任何故障诊断,则您可能不得不创建单独的服务请求。将正常收取支持费用将应用于其他支持问题和不需要进行此特定的修补程序的问题。有关完整列表的 Microsoft 客户服务和支持的电话号码,或创建一个单独的服务请求,请访问下面的 Microsoft 网站:注意"提供修补程序下载"窗体所显示的此修复程序是可用的语言。如果您看不到您的语言,则是一个修复程序不能用于该语言。此修补程序的英文版具有的文件属性 (或更新的文件属性) 在下表中列出。日期和时间对这些文件列出在协调世界时 (UTC)。当您查看文件信息时,将转换为本地时间。若要 UTC 与本地时间之间的时差使用控制面板中的日期和时间工具中的 时区 选项卡。
Date         Time   Version            Size    File name---------------------------------------------------------11-Jan-2005  23:25  3.5.2284.1         58,880  Atl.dll
状态
Microsoft 已经确认这是在"适用于"一节中列出的 Microsoft 产品中的问题。
更多信息
有关更多的信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
824684用于描述 Microsoft 软件更新的标准术语的说明

属性

文章 ID:887569 - 上次审阅时间:01/15/2015 16:22:22 - 修订版本: 2.2

Microsoft Windows XP Professional Service Pack 2 (SP2), Microsoft Windows XP Home Edition Service Pack 2 (SP2)

  • kbnosurvey kbarchive kbmt kbautohotfix kbqfe kbhotfixserver kbwinxpsp3fix kbfix kbbug KB887569 KbMtzh
反馈