а почему они местами поменяны? N>struct RetData { N>... N> LPSTR RetItem[20]; N> unsigned char OrigStat[6]; N> };
N>... N> public class RetData N> { N>... N> public string Whole; N> [MarshalAs(UnmanagedType.ByValArray, SizeConst=6)] N> public byte[] OrigStat;
N> [MarshalAs(UnmanagedType.ByValArray, ArraySubType = UnmanagedType.LPStr, SizeConst = 20)] N> public String[] RetItem; // массив указателей на нуль терминированные строки, N> // в которые помещается результат выполнения команды N> }
N>...