1

我在 C++/CLI 中为 C 静态库构建 Wrapper,以便通过 C# 在 .NET 应用程序中使用

我在C中有这样的功能

long    My_COM_Interface(   PVOID hDevice,IUnknown **pUnknown);

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

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

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

请帮我找到数据类型 IUnknown 和 GUID 的替换。

4

3 回答 3

1

没有替代品

C++/CLI 可以很好地理解本机类型。包括正确的头文件,你可以IUnknown*像往常一样使用。

于 2011-10-24T21:01:46.053 回答
0

我会参考 API,例如

 public static IntPtr GetIUnknownForObject(Object o);

这个 API 可以简单地从 C++/CLR 中使用,并且建议你应该使用 IntPtr^

于 2011-10-24T08:51:53.520 回答
-1

尝试使用类似的参数;

ref object pUnknown

并像使用它一样

MyObject o = pUnknown as MyObject
于 2011-10-24T08:53:35.853 回答