1.The field
delta_limit
(from offeset 147) of type
float
so its size is
4 bytes
and now it is overlapping your field
controlname4QC
that now has offset
148
.
2.You have to do the next 2 changes in your last part of your struct:
[FieldOffset(147)]
public float delta_limit;
[FieldOffset(151)]
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 20)]
public byte[] controlname4QC;
[FieldOffset(171)]
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 12)]
public byte[] reserved;
}