예제 #1
0
        public void Write(FireRecord[] records)
        {
            foreach (FireRecord record in records)
            {
                int offset = 0;

                Write(SerializeData(record), offset, Marshal.SizeOf(record));
                //offset += Marshal.SizeOf(record);
            }
        }
예제 #2
0
        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;
        }