MSDN.WhiteKnight - Stack Overflow answers
Ответ на "Не могу вычислить размер unmanaged через Marshal.SizeOf структуры в C#"
Answer 1081497
Как минимум, вот этот элемент выглядит ошибочным:
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 18)] /* solution options type */ public int posf;
Управляемый тип int, а неуправляемый - массив?
Кроме того, у вас много других несоответствий, которые хоть и не могут привести к этой ошибке, но из-за них код не будет работать правильно. Например в неуправляемой структуре:
unsigned char *buff[3];
Это массив из трех указателей на байт
В управляемой:
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)] public byte[] buff;
Это массив из трех байтов (значений). Они не эквивалентны. Проверьте все свои структуры, что они правильно используют типы в соответствии с рекомендациями Marshaling Data with Platform Invoke.
Content is retrieved from StackExchange API.
Auto-generated by ruso-archive tools.