Как маршализовать структуру массива, содержащую матрицу char

На основе следующего содержимого заголовка C ++:

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

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

Я искал много примеров через Интернет, но ни один не использует матричная переменная внутри массив структур в качестве параметра.
Может кто-нибудь сказать, пожалуйста, как использовать эту функцию в C #?

0

Решение

Чтобы упорядочить этот элемент массива, вам просто нужно сгладить его до 1500 элементов, которые он представляет

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

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

Обязательно инициализируйте myVar массив хоть вручную при использовании в C #

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector