private static _EXT_TYPED_DATA FromBytes(byte[] data) { _EXT_TYPED_DATA result = default(_EXT_TYPED_DATA); int size = Marshal.SizeOf(result); IntPtr pointer = Marshal.AllocHGlobal(size); Marshal.Copy(data, 0, pointer, size); result = (_EXT_TYPED_DATA)Marshal.PtrToStructure(pointer, result.GetType()); Marshal.FreeHGlobal(pointer); return(result); }