在C#中使用C ++ DLL(指针方法)

时间:2013-03-26 09:43:21

标签: c# c++

我有一个C ++ DLL文件,我需要使用它来自C#的函数。 C ++文件在ServiceState中有一个名为“Status”的方法。该块的C ++代码如下所示。

STDMETHODIMP ServiceState::Status(/*[out]*/VARIANT *Primary,VARIANT *Secondary ) 
{
if(primary()) 
     Primary->boolVal = TRUE;
else
     Secondary->boolVal = FALSE;

return true;

}

我编译了C ++项目并获得了 Status.dll 输出。 我在C#代码中初始化如下。

 [DllImport(@"c:\Status.dll")]
 public static extern void ServiceState.Status(IntPtr Primary,IntPtr Secondary);

1)初始化是否正确?

2)由于该方法在C ++中有指针,因此必须将C#数据类型传递给该方法&怎么样?请指导我。

由于

0 个答案:

没有答案