C#COM Office Automation - RPC_E_SYS_CALL_FAILED

Roy*_*ang 5 c# com ms-office

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

错误消息的示例是:

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

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

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

Dir*_*mar 5

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