public void Write(FireRecord[] records) { foreach (FireRecord record in records) { int offset = 0; Write(SerializeData(record), offset, Marshal.SizeOf(record)); //offset += Marshal.SizeOf(record); } }
private static Byte[] SerializeData(FireRecord data) { int objsize = Marshal.SizeOf(data); Byte[] ret = new Byte[objsize]; IntPtr buff = Marshal.AllocHGlobal(objsize); Marshal.StructureToPtr(data, buff, true); Marshal.Copy(buff, ret, 0, objsize); Marshal.FreeHGlobal(buff); return ret; }