我在 C# 中有一个 COM 对象:
Class myClass = new Class;
IPClass myPointer = null;
myPointer = (IPClass) myClass.GetMyPointer();
bool myBool = myPointer.DoSomething();
C# 中的 myClass.GetMyPointer() 返回动态类型。在定义 COM 对象的原始代码中,myClass.GetMyPointer 返回指向 C++ 中的接口 IPClass 的指针。
当我测试我的 C# dll 时,我无法获得 myBool。VS 总是说 myBool 在当前上下文中不存在。但是 DoSomething 总是被执行。我只是无法取回返回值。我试图暂时停止从 C# 进行垃圾收集,但没有任何区别。
有人有什么建议吗?