对不起,但我不得不再次问。我正在寻找几个星期和一个月的解决方案。 问题是,已经实现了一个COM接口的抛出只通过调用几个方法一个InvalidCast异常E_NOINTERFACE,它告诉我,我必须实现IUnknown。 那么我该怎么做?C#Com E_NOINTERFACE查询接口
我试过几乎所有... 目前,我有这样的事情
[ComImport,
Guid("279AFA85-4981-11CE-A521-0020AF0BE560"),
InterfaceType(ComInterfaceType.InterfaceIsIUnknown),
System.Security.SuppressUnmanagedCodeSecurity]
public interface IDirectSoundBuffer : IUnknown
{
...
[ComImport]
[Guid("00000000-0000-0000-C000-000000000046")]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface IUnknown
{
void QueryInterface([In] ref Guid giid, [Out, MarshalAs(UnmanagedType.IUnknown, IidParameterIndex = 0)] out object ppvObject);
[PreserveSig]
uint AddRef();
[PreserveSig]
uint Release();
}
我真不知道有什么我可以尝试更多。我有许多不同的论坛话题讨论这一点,但noboboy知道什么:((请帮我
你叫所有从IUnknown接口的方法呢? – Botonomous 2012-07-13 21:36:02
你也可以说实现了这个接口的类? – dkackman 2012-07-14 14:00:53
我也想落实的QueryInterface我所以我可以为它设置日志记录 - 是否让它运行? – 2012-08-03 20:10:53