[Mono-devel-list] Managed to unmanaged structure question

Peter Dennis Bartok peter at novonyx.com
Fri Jun 11 00:27:48 EDT 2004

Hi all,

Got a (hopefully) simple question:

If I have a structure:

  internal struct TestStructure
                 internal int      number;
                 internal byte[] stuff;

and some code:

  TestStructure t = new TestStructure();

  Console.WriteLine("Size of t: {0}", 

I it returns a size of 8, instead of the expected size of 1028.

If I now pass this structure as ref to unmanaged code, and that code 
writes more than 8 bytes, it seems that data gets overwritten. (I've got 
some sample code that shows that the call stack is ok before the 
P/Invoke and messed up afterwards, if I write more data)

Can anyone shed light on this, whether I'm up in the night or whether 
this is a real bug?


More information about the Mono-devel-list mailing list