我有一个 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# 数据类型传递给该方法以及如何传递?请指导我。
谢谢