我正在研究简单的电话应用程序,我正在更改panasonic pbx扩展的服务级别。为此,我正在使用“Tapi32.dll”,它具有C++中的方法。现在根据我的需要,我必须传递两个整数指针类型的参数。一个参数正确地通过,但我无法通过结构类型的第二个参数argumnet。如何将结构作为C中的指针传入C#
这里是我的代码...
[DllImport("Tapi32.dll", CharSet=CharSet.Auto, SetLastError=true)]
unsafe private static extern int lineDevSpecific(int* hLine, int* lpParams);
[StructLayout(LayoutKind.Sequential)]
public struct UserRec {
[MarshalAs(UnmanagedType.I4)]
public int dwMode=4;
public int dwParam1=8;
}
unsafe static void Main(string[] args) {
int vline=int.Parse("Ext101");
int* hline = &vline;
lineDevSpecific(hline, ref UserRec userrec);
}
http://stackoverflow.com/questions/4558082/passing-an-struct-array-into-c-dll-from-c-sharp – 2013-03-04 08:16:39