internal ClusterStream(FatFileSystem fileSystem, FileAccess access, uint firstCluster, uint length) { _access = access; _reader = fileSystem.ClusterReader; _fat = fileSystem.Fat; _length = length; _knownClusters = new List<uint>(); if (firstCluster != 0) { _knownClusters.Add(firstCluster); } else { _knownClusters.Add(FatBuffer.EndOfChain); } if (_length == uint.MaxValue) { _length = DetectLength(); } _currentCluster = uint.MaxValue; _clusterBuffer = new byte[_reader.ClusterSize]; }
internal ClusterStream(FatFileSystem fileSystem, FileAccess access, uint firstCluster, uint length) { _access = access; _reader = fileSystem.ClusterReader; _fat = fileSystem.Fat; _length = length; _knownClusters = new List <uint>(); if (firstCluster != 0) { _knownClusters.Add(firstCluster); } else { _knownClusters.Add(FatBuffer.EndOfChain); } if (_length == uint.MaxValue) { _length = DetectLength(); } _currentCluster = uint.MaxValue; _clusterBuffer = new byte[_reader.ClusterSize]; }
private void LoadClusterReader() { int rootDirSectors = ((_bpbRootEntCnt * 32) + (_bpbBytesPerSec - 1)) / _bpbBytesPerSec; int firstDataSector = (int)(_bpbRsvdSecCnt + (_bpbNumFATs * FatSize) + rootDirSectors); _clusterReader = new ClusterReader(_data, firstDataSector, _bpbSecPerClus, _bpbBytesPerSec); }