none
调用com 出这个错误,大虾们,帮我分析分析! RRS feed

  • 问题

  • "无法将类型为“WinTest.Picture”的 COM 对象强制转换为接口类型“WinTest.IXMPControl”。此操作失败的原因是对 IID 为“{ABCDEE56-7708-4368-9D01-88BF18D5F0C4}”的接口的 COM 组件调用 QueryInterface 因以下错误而失败: 不支持此接口 (异常来自 HRESULT:0x80004002 (E_NOINTERFACE))。"}
    2009年11月2日 2:51

答案

全部回复

  • "无法将类型为“WinTest.Picture”的 COM 对象强制转换为接口类型“WinTest.IXMPControl”。此操作失败的原因是对 IID 为“{ABCDEE56-7708-4368-9D01-88BF18D5F0C4}”的接口的 COM 组件调用 QueryInterface 因以下错误而失败: 不支持此接口 (异常来自 HRESULT:0x80004002 (E_NOINTERFACE))。"}
    2009年11月2日 3:04
  • WinTest.Picture 没有实现接口WinTest.IXMPControl
    Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!My blog~~~
    2009年11月2日 3:30
    版主
  • 你好!
         检查一下你的COM组件中是否有定义WinTest.IXMPControl接口,看看名字是否一致,注意拼写!
    周雪峰
    2009年11月2日 8:39
    版主
  • mvp 你好,有这个接口的。
    我现在认为是我参数传的不对,VC++调用成功的,里面的variant,这个类型c#说是object。
    PropImport(0,这个参数是variant行这个里面放的是两个结构体的内存, lSize);
    mvp,我可以把com发给你,能否帮忙测试下。谢谢
    2009年11月2日 9:01
  • 关于variant类型的参数传递,建议看一下这篇文章:
    http://www.evget.com/zh-CN/Info/catalog/9547.html
    周雪峰
    2009年11月2日 10:37
    版主
  • 应该是你对对象用法不对,或者接口不支持目前的COM套间。

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful.
    Visual C++ MVP
    2009年11月3日 2:17
    版主