关于复杂结构数组平台调用数据封送的问题
[StructLayout = LayoutKind.Sequential]
public struct A
{
...
...
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)]
public B[] b
}
[StructLayout = LayoutKind.Sequential]
public struct B
{
...
...
}
[DllImport("...")]
public static extern int Test(..., [In, Out] ref A[] a);
我跟踪到Dll里调试的时候发现结构A中的数组b中的值全部丢掉了,而且在Dll里面为a赋值也都传不出来,请问在调用外部DLL时传递这种较为复杂的结构的数组该如何封送结构?谢谢!