当前位置:  开发笔记 > 编程语言 > 正文

C#COM Office Automation - RPC_E_SYS_CALL_FAILED

如何解决《C#COMOfficeAutomation-RPC_E_SYS_CALL_FAILED》经验,为你挑选了1个好方法。

我正在编写一个充当PowerPoint 2007插件的C#程序.在某些机器上,对PowerPoint对象模型的一些调用会抛出一条COMException消息RPC_E_SYS_CALL_FAILED.关于如何处理此错误或如何避免错误,我找不到任何具体建议.从谷歌搜索它看起来与消息队列或单线程公寓有关.还是我离开了?

错误消息的示例是:

系统调用失败.(来自HRESULT的异常:0x80010100(RPC_E_SYS_CALL_FAILED))
在Microsoft.Office.Interop.PowerPoint._Presentation.get_FullName()

不幸的是,问题出现在客户端的机器上,所以我没有简单的方法来调试它!我是否应该在收到此错误时重试呼叫?

任何建议,以帮助我解决这个问题将不胜感激!



1> Dirk Vollmar..:

我不知道它与您的问题有关,但您的所有COM调用必须来自您创建加载项的同一个线程.如果您创建了新线程,则必须特别小心.这两篇文章描述了详细信息:

在Office加载项和中实现IMessageFilter

为什么COMAddIn.Object应该从StandardOleMarshalObject派生

推荐阅读
Life一切安好
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有