public ServerSparseExtentStream(Stream file, Ownership ownsFile, long diskOffset, SparseStream parentDiskStream, Ownership ownsParentDiskStream) { _fileStream = file; _ownsFileStream = ownsFile; _diskOffset = diskOffset; _parentDiskStream = parentDiskStream; _ownsParentDiskStream = ownsParentDiskStream; file.Position = 0; byte[] firstSectors = Utilities.ReadFully(file, Sizes.Sector * 4); _serverHeader = ServerSparseExtentHeader.Read(firstSectors, 0); _header = _serverHeader; _gtCoverage = _header.NumGTEsPerGT * (long)_header.GrainSize * Sizes.Sector; LoadGlobalDirectory(); }