FIX: 您可能会收到一个 0x800706F7 具有 BSTR 参数的错误消息进行了 COM 方法调用时

文章翻译 文章翻译
文章编号: 895321 - 查看本文应用于的产品
重要本文包含有关如何修改注册表的信息。请确保您对其进行修改之前备份注册表。请确保您知道如何还原注册表发生问题。有关如何备份、 还原,以及修改注册表的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
256986在 Microsoft Windows 注册表的说明
重要本文包含如何帮助较低的安全设置或如何关闭计算机上的安全功能为您显示的信息。您可以通过这些更改来解决特定问题。您在进行这些更改之前,我们建议您考虑在您的特定环境中实施该替代方法带来的风险。如果实施该替代方法,采取任何适当的附加措施来帮助保护您的系统。
展开全部 | 关闭全部

本文内容

症状

当您具有 BSTR 作为参数进行了 COM 方法调用时您可能会收到与以下类似的错误消息:
0x800706F7 (该存根 (stub) 接收到坏数据)
例如对于,调用 IClassFactory::CreateInstanceLic COM 方法时,您可能会遇到此问题。

原因

如果封送到基于 Microsoft Windows Server 2003 的计算机或到基于 Microsoft Windows XP 的计算机从一台基于 Microsoft Windows 2000 的计算机 BSTR,就会出现此问题。没有其他验证 BSTR 的基于 Windows Server 2003 的计算机和基于 Windows XP 的计算机上的数据。此附加验证可能会使 BSTR 数据显示为无效。

解决方案

Windows 2003 Server

服务包信息

若要解决此问题,获得最新的 service pack,Windows Server 2003 的。有关详细的信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
889100如何获取最新的 service pack,Windows Server 2003 的

修补程序信息

系统必备组件
您必须具有 Microsoft Windows Server 2003 Service Pack 1 (SP1) 或 Microsoft Windows XP Service Pack 2 (SP2) 安装到应用此修补程序。
重新启动要求
应用此修补程序后,您必须重新启动计算机
修补程序替换信息
此修补程序不替代任何其他修补程序。
文件信息
此修补程序的英文版具有的文件属性 (或更新的文件属性) 在下表中列出。日期和时间对这些文件列出在协调世界时 (UTC)。当您查看文件信息时,将转换为本地时间。若要 UTC 与本地时间之间的时差使用控制面板中的日期和时间工具中的 时区 选项卡。

Windows Server 2003 和基于 Itanium 的版本
   Date         Time   Version        Size       File name     Platform
   --------------------------------------------------------------------
   29-Jun-2005  05:57  5.2.3790.2476  3,931,136  Oleaut32.dll  IA-64

Windows Server 2003、 x 基于 x64 的版本
   Date         Time   Version        Size       File name
   ----------------------------------------------------------
   29-Jun-2005  05:57  5.2.3790.2476  1,116,160  Oleaut32.dll

Windows Server 2003、 x 基于 x86 的版本
   Date         Time   Version        Size     File name
   --------------------------------------------------------
   29-Jun-2005  05:16  5.2.3790.2476  556,032  Oleaut32.dll

Windows XP

修补程序信息

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

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

注意如果出现其他问题,或者如果需要进行任何故障诊断,则您可能不得不创建单独的服务请求。将正常收取支持费用将应用于其他支持问题和不需要进行此特定的修补程序的问题。有关完整列表的 Microsoft 客户服务和支持的电话号码,或创建一个单独的服务请求,请访问下面的 Microsoft 网站:
http://support.microsoft.com/contactus/?ws=support
注意"提供修补程序下载"窗体所显示的此修复程序是可用的语言。如果您看不到您的语言,则是一个修复程序不能用于该语言。
系统必备组件
您必须具有 Microsoft Windows Server 2003 Service Pack 1 (SP1) 或 Microsoft Windows XP Service Pack 2 (SP2) 安装到应用此修补程序。
重新启动要求
应用此修补程序后,您必须重新启动计算机
修补程序替换信息
此修补程序不替代任何其他修补程序。
文件信息
此修补程序的英文版具有的文件属性 (或更新的文件属性) 在下表中列出。日期和时间对这些文件列出在协调世界时 (UTC)。当您查看文件信息时,将转换为本地时间。若要 UTC 与本地时间之间的时差使用控制面板中的日期和时间工具中的 时区 选项卡。

Windows XP,x 基于 x64 的版本
   Date         Time   Version        Size       File name
   ----------------------------------------------------------
   29-Jun-2005  05:57  5.2.3790.2476  1,116,160  Oleaut32.dll
Windows XP,x 基于 x86 版本
   Date         Time   Version        Size     File name
   --------------------------------------------------------
   08-Mar-2005  08:24  5.1.2600.2626  549,376  Oleaut32.dll

注册表信息

警告如果您修改注册表错误地使用注册表编辑器或使用另一种方法,则可能会出现严重问题。这些问题可能需要重新安装操作系统。Microsoft 不能保证可以解决这些问题。修改注册表的风险由您自己承担。

验证 BSTR 数据时,此修补程序提供了与基于 Windows 2000 的计算机的向后兼容性。您必须创建注册表项以启用此修补程序。若要在一台基于 Windows Server 2003 的计算机上或在一台基于 Windows XP 的计算机上创建此注册表项,请按照下列步骤操作:
  1. 单击 开始、 单击 运行,在 打开 框中键入 注册表编辑器,然后单击 确定
  2. 找到以下注册表项:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft
  3. 用鼠标右键单击在步骤 2 中找到的注册表项,单击 新建,然后再单击
  4. 键入 OleAut,然后按 ENTER 键。
  5. 用鼠标右键单击 OleAut,单击 新建,然后再单击 DWORD 值
  6. 键入 DisableBSTRValidation,然后按 ENTER 键。
  7. 用鼠标右键单击 DisableBSTRValidation,然后单击 修改
  8. 数值数据 框中键入 00000001,然后单击 确定
  9. 文件 菜单上单击 退出 以退出注册表编辑器。

替代方法

警告此替代方法可能会使您的计算机或网络更容易受到恶意用户或恶意软件 (如病毒的攻击。我们不建议使用此替代方法,但提供此信息,以便您可以在您应自行决定实施此替代方法。使用此替代方法需要您自担风险。
要变通解决此问题,请按照下列步骤操作:
  1. 单击 开始、 单击 运行,在 打开 框中键入 注册表编辑器,然后单击 确定
  2. 找到以下注册表项:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft
  3. 用鼠标右键单击在步骤 2 中找到的注册表项,单击 新建,然后再单击
  4. 键入 OleAut,然后按 ENTER 键。
  5. 用鼠标右键单击 OleAut,单击 新建,然后再单击 DWORD 值
  6. 键入 DisableShield,然后按 ENTER 键。
  7. 用鼠标右键单击 DisableShield,然后单击 修改
  8. 数值数据 框中键入 00000001,然后单击 确定
  9. 文件 菜单上单击 退出 以退出注册表编辑器。
注意此变通方法禁用 Windows Server 2003 和 Windows XP 操作系统的系统中已经实现一些安全检查。因此,我们建议您使用此替代方法来测试是否本文介绍的修复程序可以解决您遇到的问题。我们不建议您作为永久的解决方法使用此替代方法,针对此问题。

状态

Microsoft 已经确认这是在"适用于"一节中列出的 Microsoft 产品中的问题。 Windows Server 2003 Service Pack 2 中,第一次已得到纠正此问题。

更多信息

有关详细的信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
824684用于描述 Microsoft 软件更新的标准术语的说明

属性

文章编号: 895321 - 最后修改: 2007年12月5日 - 修订: 3.5
这篇文章中的信息适用于:
  • Microsoft COM+ 1.5?当用于
    • Microsoft Windows Server 2003 Standard Edition
    • Microsoft Windows Server 2003 Enterprise Edition
    • Microsoft Windows Server 2003 Datacenter Edition
    • Microsoft Windows Server 2003 Web Edition
    • Microsoft Windows Server 2003, Standard x64 Edition
    • Microsoft Windows Server 2003, Enterprise x64 Edition
    • Microsoft Windows Server 2003, Datacenter x64 Edition
    • Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
    • Microsoft Windows Server 2003, Datacenter Edition for Itanium-Based Systems
    • Microsoft Windows XP Home Edition
    • Microsoft Windows XP Professional Edition
    • Microsoft Windows XP Professional x64 Edition
关键字:?
kbmt kbautohotfix kbwinserv2003sp2fix kbfix kbbug kbpubtypekc kbhotfixserver kbqfe KB895321 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 895321
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com