我很抱歉,但我不得不再问一次。我从数周和数月以来一直在寻找解决方案。问题是仅通过调用几个方法 InvalidCast Exception E_NOINTERFACE 实现了一个 COM 接口,它告诉我必须实现 IUnknown。那么我该怎么做呢?
我几乎尝试了一切......目前我有这样的东西
[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 什么都知道 :(( 请帮助我。