public MasterSectorAllocation(CompoundDocument document) { this.Document = document; this.NumberOfSecIDs = document.Header.NumberOfSATSectors; this.CurrentMSATSector = document.Header.FirstSectorIDofMasterSectorAllocationTable; this.SecIDCapacity = document.SectorSize / 4 - 1; InitializeMasterSectorAllocationTable(); }
public static CompoundDocument Create(Stream stream) { CompoundDocument document = new CompoundDocument(stream, new CompoundFileHeader()); document.WriteHeader(); document.MasterSectorAllocation.AllocateSATSector(); document.InitializeDirectoryEntries(); return document; }
public ShortSectorAllocation(CompoundDocument document) { this.Document = document; ShortSectorAllocationTable = document.GetStreamDataAsIntegers(document.Header.FirstSectorIDofShortSectorAllocationTable); //ShortSectorAllocationTable.RemoveRange(document.Header.NumberOfShortSectors, ShortSectorAllocationTable.Count - document.Header.NumberOfShortSectors); while (ShortSectorAllocationTable.Count > 0 && ShortSectorAllocationTable[ShortSectorAllocationTable.Count - 1] == SID.Free) { ShortSectorAllocationTable.RemoveAt(ShortSectorAllocationTable.Count - 1); } }
public static CompoundDocument Open(Stream stream) { BinaryReader reader = new BinaryReader(stream); FileHeader header = ReadHeader(reader); CompoundDocument document = new CompoundDocument(stream, header); if (!document.CheckHeader()) return null; document.ReadDirectoryEntries(); return document; }
public SectorAllocation(CompoundDocument document) { this.Document = document; this.SecIDCapacity = document.SectorSize / 4; }