&引用;“空的”;继承的COM接口未正确封送
我有一个内置的proc-COM服务器(dll,内置于MSVC10中),用于C#client。其中一个接口的定义如下:&引用;“空的”;继承的COM接口未正确封送,com,marshalling,idl,Com,Marshalling,Idl,我有一个内置的proc-COM服务器(dll,内置于MSVC10中),用于C#client。其中一个接口的定义如下: [ object, uuid(some guid), dual, nonextensible, helpstring("IDerived Interface"), pointer_default(unique) ] interface IDerived : IBase{ }; co类实现了IDerived和IBase(以及一些其他
[
object,
uuid(some guid),
dual,
nonextensible,
helpstring("IDerived Interface"),
pointer_default(unique)
]
interface IDerived : IBase{
};
co类实现了IDerived
和IBase
(以及一些其他接口):
男女同班是公寓式的。当MTA客户端线程获取IDerived
并尝试调用其任何方法(继承自IBase
)时,它会在代理/存根中的某个位置崩溃。在STA中,它工作得很好,因此我认为iderive
没有正确编组。另一方面,如果我显式地使用IBase
,或者如果我向IDerived
添加了一个方法,那么一切都很好
为什么空的iderive
未正确编组
[
uuid(some guid),
helpstring("SomeClass Class"),
noncreatable,
hidden
]
coclass SomeClass
{
[default] interface IDerived;
interface IBase;
// etc.
};