public void Load(string path) { using (SafeBufferAccessor access = new SafeBufferAccessor(path)) { InternalReadHeader(access); } }
private void InternalReadHeader(SafeBufferAccessor accessor) { accessor.Read(4, out m_header.blockTag); accessor.ReadBE(out m_header.blockLength); accessor.Position += 16; // unused accessor.ReadBE(out m_header.totalSize); accessor.ReadBE(out m_header.dateTime); accessor.ReadBE(out m_header.field2C); accessor.ReadBE(out m_header.flags); accessor.Read(4, out m_header.formatTag); accessor.Read(64, out m_header.makerTag); accessor.ReadBE(out m_header.field78); accessor.ReadBE(out m_header.field7C); accessor.ReadBE(out m_header.numEntries); accessor.ReadBE(out m_header.zoneInfoIndex); accessor.ReadBE(out m_header.isoStartIndex); accessor.Position += 116; // unused accessor.ReadBE((int)m_header.numEntries, out m_header.entryTable); }