我在C ++ / CLI中为C静态库构建Wrapper,以便通过C#
在.NET应用程序中使用我在C
中有这样的功能long My_COM_Interface( PVOID hDevice,IUnknown **pUnknown);
如何在C ++ / CLI中声明IUnknown **
对于第一个参数我正在使用IntPtr但是无法找到IUknown的替换。
我在另一个函数中有另一个COM数据类型GUID,这对我来说也是一个问题。
请帮我查找数据类型IUnknown和GUID的关联。
答案 0 :(得分:1)
没有替换。
C ++ / CLI很好地理解本机类型。包含正确的头文件,您可以像使用IUnknown*
一样使用。
答案 1 :(得分:0)
我会参考API,例如
public static IntPtr GetIUnknownForObject(Object o);
此API可以简单地从C ++ / CLR中使用,并建议您使用IntPtr ^
答案 2 :(得分:-1)
尝试使用像<; p>这样的参数
ref object pUnknown
并像
一样使用它MyObject o = pUnknown as MyObject