public abstract uint ReadFATEntry(FATPosition position);
protected void SeekToFATPosition(FATPosition position) { stream.Seek(mbrOffsetInByte + position.sector * bootSector.bytes_per_sector, SeekOrigin.Begin); }
public FATPosition GetFATPositionForCluster(uint cluster) { uint fatOffset = GetFATEntrySize() * cluster; FATPosition position = new FATPosition(); position.sector = bootSector.reserved_sector_count + (fatOffset / bootSector.bytes_per_sector); position.sector_offset = fatOffset % bootSector.bytes_per_sector; return position; }