代表管理C ++中的IUnknown

时间:2011-10-24 08:34:05

标签: c++-cli iunknown

我在C ++ / CLI中为C静态库构建Wrapper,以便通过C#

在.NET应用程序中使用

我在C

中有这样的功能
long    My_COM_Interface(   PVOID hDevice,IUnknown **pUnknown);

如何在C ++ / CLI中声明IUnknown **

对于第一个参数我正在使用IntPtr但是无法找到IUknown的替换。

我在另一个函数中有另一个COM数据类型GUID,这对我来说也是一个问题。

请帮我查找数据类型IUnknown和GUID的关联。

3 个答案:

答案 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