0

基于以下 C++ Header 内容:

typedef struct {
char    myVar[30][50];
}MyStruct;

extern "C" int   WINAPI  MyFunction(MyStruct *Configuration,int *CfgSize); 

我在网上找了很多例子,但没有一个使用结构数组中的矩阵变量作为参数。 有人可以告诉我如何在 C# 中使用这个函数吗?

4

1 回答 1

1

为了编组这个数组成员,您只需要将其展平为它所代表的 1500 个元素

[StructLayoutAttribute(LayoutKind.Sequential)]
public struct MyStruct {

    /// byte[1500]
    [MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst=1500, ArraySubType=UnmanagedType.I1)]
    public byte[] myVar;
}

在 C# 中使用时,请确保myVar手动初始化数组

于 2013-09-23T15:07:51.323 回答