如何从非托管代码中调用非托管代码中的可变参数函数

时间:2013-12-18 10:30:47

标签: c# c++ .net vb.net c++-cli

我有一个像下面的签名

的功能
__declspec(dllexport) MyFunc(string format,...){ 
    //ProcessingData
}

现在我用C#代码调用MyFunc

  [DllImport(@"MyDll", CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi, EntryPoint = "MyFunc")]
  public static extern int MyFunc(string format, params object[] pars);

在代码中:

  var fm = Marshal.StringToHGlobalAnsi("is");
  MyFunc(200, fm.ToInt32()); 

调用MyFunc导致接收错误的参数。 知道该怎么办吗?

0 个答案:

没有答案