The int types of your struct should work correctly, but for the byte[] you must allocate buffer in the
runtime of CSharp. For that you must know the needed size of these values and make that call before.
The other way is to get the bytes buffers from C++ and
make a copy in C#.
Take a look at my
article and its code specially at the function buildBuffer and its usage.