设在非托管环境(本地DLL)中声明有如下结构体:
typedef struct struct_MYSTRUCT
{
int pArray[4];
}MYSTRUCT, *LPMYSTRUCT;和如下函数:
void func(LPMYSTRUCT* pStructArray){}问题是,在.NET中如何封送结构体指针数组?我这样声明发现不对:struct MyStruct
{
public Int32[] array;
}private static extern Func(
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.LPStruct, SizeConst=2),In]
MyStruct[] structArray
);
typedef struct struct_MYSTRUCT
{
int pArray[4];
}MYSTRUCT, *LPMYSTRUCT;和如下函数:
void func(LPMYSTRUCT* pStructArray){}问题是,在.NET中如何封送结构体指针数组?我这样声明发现不对:struct MyStruct
{
public Int32[] array;
}private static extern Func(
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.LPStruct, SizeConst=2),In]
MyStruct[] structArray
);
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货