Как мне упорядочить этот тип C ++?
Структура ABS_DATA используется для связывания произвольно длинного блока данных с информацией о длине. Объявленная длина массива Data
равна 1, но фактическая длина задается элементом Length
.
typedef struct abs_data {
ABS_DWORD Length;
ABS_BYTE Data[ABS_VARLEN];
} ABS_DATA;
Я пробовал следующий код, но он не работает. Переменная данных всегда пуста, и я уверен, что в ней есть данные.
[System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential, CharSet = System.Runtime.InteropServices.CharSet.Ansi)]
public struct abs_data
{
/// ABS_DWORD->unsigned int
public uint Length;
/// ABS_BYTE[1]
[System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.ByValTStr, SizeConst = 1)]
public string Data;
}