имеется код
//структура которую надо преобразовать
[StructLayout(LayoutKind.Sequential, Pack = 1)]
struct IMAGE_DATA_DIRECTORY
{
public byte b;
public byte[] b2
}
.....
//преобразовываю так
IMAGE_DATA_DIRECTORY user;
user.b = 1;
user.b4=new byte[]{2,3,4,5,6};
IntPtr SitList;
unsafe
{
SitList = Marshal.AllocHGlobal(Marshal.SizeOf(user));
byte[] buffer = new byte[Marshal.SizeOf(user)];
GCHandle handle = GCHandle.Alloc(buffer, GCHandleType.Pinned);
Marshal.StructureToPtr(user, SitList, false);
Marshal.StructureToPtr(user, handle.AddrOfPinnedObject(), false);
Marshal.Copy(handle.AddrOfPinnedObject(), buffer, 0, buffer.Length);
handle.Free();
}
при этом в buffer заместо массива судя повсему пишется адрес массива
Как сделать так чтобы записывался сам массив?