3 writes to _archive
System.IO.Compression (3)
System\IO\Compression\ZipArchiveEntry.cs (3)
67_archive = archive; 170_archive = archive; 462_archive = null!;
156 references to _archive
System.IO.Compression (156)
System\IO\Compression\ZipArchiveEntry.Async.cs (57)
120switch (_archive.Mode) 128Debug.Assert(_archive.Mode == ZipArchiveMode.Update); 159_archive.ArchiveStream.Seek(_offsetOfLocalHeader, SeekOrigin.Begin); 163if (!await ZipLocalFileHeader.TrySkipBlockAsync(_archive.ArchiveStream, cancellationToken).ConfigureAwait(false)) 168_storedOffsetOfCompressedData = _archive.ArchiveStream.Position; 189if (_offsetOfLocalHeader > _archive.ArchiveStream.Length) 194long savedPosition = _archive.ArchiveStream.Position; 198_archive.ArchiveStream.Seek(offset, SeekOrigin.Begin); 203await _archive.ArchiveStream.ReadExactlyAsync(_aesSalt, cancellationToken).ConfigureAwait(false); 214_archive.ArchiveStream.Seek(savedPosition, SeekOrigin.Begin); 275Stream compressedStream = new SubReadStream(_archive.ArchiveStream, offset, _compressedSize); 426await _archive.ArchiveStream.WriteAsync(cdStaticHeader, cancellationToken).ConfigureAwait(false); 427await _archive.ArchiveStream.WriteAsync(_storedEntryNameBytes, cancellationToken).ConfigureAwait(false); 432await zip64ExtraField.WriteBlockAsync(_archive.ArchiveStream, cancellationToken).ConfigureAwait(false); 439await CreateAesExtraField().WriteBlockAsync(_archive.ArchiveStream, cancellationToken).ConfigureAwait(false); 442await ZipGenericExtraField.WriteAllBlocksExcludingTagAsync(_cdUnknownExtraFields, _cdTrailingExtraFieldData ?? Array.Empty<byte>(), _archive.ArchiveStream, WinZipAesExtraField.HeaderId, cancellationToken).ConfigureAwait(false); 447await ZipGenericExtraField.WriteAllBlocksAsync(_cdUnknownExtraFields, _cdTrailingExtraFieldData ?? Array.Empty<byte>(), _archive.ArchiveStream, cancellationToken).ConfigureAwait(false); 452await _archive.ArchiveStream.WriteAsync(_fileComment, cancellationToken).ConfigureAwait(false); 465_archive.ArchiveStream.Seek(_offsetOfLocalHeader, SeekOrigin.Begin); 466(_lhUnknownExtraFields, _lhTrailingExtraFieldData) = await ZipLocalFileHeader.GetExtraFieldsAsync(_archive.ArchiveStream, cancellationToken).ConfigureAwait(false); 480_archive.ArchiveStream.Seek(await GetOffsetOfCompressedDataAsync(cancellationToken).ConfigureAwait(false), SeekOrigin.Begin); 484await _archive.ArchiveStream.ReadAtLeastAsync(_compressedBytes[i], maxSingleBufferSize, throwOnEndOfStream: true, cancellationToken).ConfigureAwait(false); 486await _archive.ArchiveStream.ReadAtLeastAsync(_compressedBytes[_compressedBytes.Length - 1], (int)(_compressedSize % maxSingleBufferSize), throwOnEndOfStream: true, cancellationToken).ConfigureAwait(false); 575Stream compressedStream = new SubReadStream(_archive.ArchiveStream, offset, _compressedSize); 592Stream compressedStream = new SubReadStream(_archive.ArchiveStream, offset, _compressedSize); 660if (!IsEncrypted && !await ZipLocalFileHeader.TrySkipBlockAsync(_archive.ArchiveStream, cancellationToken).ConfigureAwait(false)) 667_archive.ArchiveStream.Seek(_offsetOfLocalHeader, SeekOrigin.Begin); 671if (!await ZipLocalFileHeader.TrySkipBlockAsync(_archive.ArchiveStream, cancellationToken).ConfigureAwait(false)) 699await _archive.ArchiveStream.WriteAsync(lfStaticHeader, cancellationToken).ConfigureAwait(false); 700await _archive.ArchiveStream.WriteAsync(_storedEntryNameBytes, cancellationToken).ConfigureAwait(false); 705await zip64ExtraField.WriteBlockAsync(_archive.ArchiveStream, cancellationToken).ConfigureAwait(false); 712await CreateAesExtraField().WriteBlockAsync(_archive.ArchiveStream, cancellationToken).ConfigureAwait(false); 715await ZipGenericExtraField.WriteAllBlocksExcludingTagAsync(_lhUnknownExtraFields, _lhTrailingExtraFieldData ?? Array.Empty<byte>(), _archive.ArchiveStream, WinZipAesExtraField.HeaderId, cancellationToken).ConfigureAwait(false); 719await ZipGenericExtraField.WriteAllBlocksAsync(_lhUnknownExtraFields, _lhTrailingExtraFieldData ?? Array.Empty<byte>(), _archive.ArchiveStream, cancellationToken).ConfigureAwait(false); 757long startPosition = _archive.ArchiveStream.Position; 762baseStream: _archive.ArchiveStream, 771CheckSumAndSizeWriteStream crcStream = GetDataCompressor(encryptionStream, leaveBackingStreamOpen: true, onClose: null, streamForPosition: _archive.ArchiveStream); 783_compressedSize = _archive.ArchiveStream.Position - startPosition; 807long startPosition = _archive.ArchiveStream.Position; 816baseStream: _archive.ArchiveStream, 833CheckSumAndSizeWriteStream crcStream = GetDataCompressor(encryptionStream, leaveBackingStreamOpen: true, onClose: null, streamForPosition: _archive.ArchiveStream); 857_compressedSize = _archive.ArchiveStream.Position - startPosition; 870DirectToArchiveWriterStream entryWriter = new(GetDataCompressor(_archive.ArchiveStream, true, null, null), this); 918long currentPos = _archive.ArchiveStream.Position; 919_archive.ArchiveStream.Seek( 924await _archive.ArchiveStream.WriteAsync(flagBytes, cancellationToken).ConfigureAwait(false); 925_archive.ArchiveStream.Seek(currentPos, SeekOrigin.Begin); 942await _archive.ArchiveStream.WriteAsync(compressedBytes, cancellationToken).ConfigureAwait(false); 955if (_archive.Mode == ZipArchiveMode.Update || !_everOpenedForWrite) 966if (_endOfLocalEntryData > _archive.ArchiveStream.Position) 968_archive.ArchiveStream.Seek(_endOfLocalEntryData, SeekOrigin.Begin); 992await _archive.ArchiveStream.WriteAsync(writeBuffer.AsMemory(0, MetadataBufferLength), cancellationToken).ConfigureAwait(false); 998await _archive.ArchiveStream.WriteAsync(writeBuffer.AsMemory(0, CrcAndSizesBufferLength), cancellationToken).ConfigureAwait(false); 1009await _archive.ArchiveStream.WriteAsync(writeBuffer.AsMemory(0, Zip64SizesBufferLength), cancellationToken).ConfigureAwait(false); 1013_archive.ArchiveStream.Seek(finalPosition, SeekOrigin.Begin); 1021await _archive.ArchiveStream.WriteAsync(writeBuffer.AsMemory(0, Zip64DataDescriptorCrcAndSizesBufferLength), cancellationToken).ConfigureAwait(false); 1030return _archive.ArchiveStream.WriteAsync(dataDescriptor.AsMemory(0, bytesToWrite), cancellationToken);
System\IO\Compression\ZipArchiveEntry.cs (99)
212if (_archive.Mode == ZipArchiveMode.Create) 214_archive.AcquireArchiveStream(this); 223public ZipArchive Archive => _archive; 308_fileComment = ZipHelper.GetEncodedTruncatedBytesFromString(value, _archive.EntryNameAndCommentEncoding, ushort.MaxValue, out bool isUTF8); 335value, _archive.EntryNameAndCommentEncoding, 0 /* No truncation */, out bool isUTF8); 382if (_archive.Mode == ZipArchiveMode.Read) 386if (_archive.Mode == ZipArchiveMode.Create && _everOpenedForWrite) 444if (_archive == null) 454if (_archive.Mode != ZipArchiveMode.Update) 459_archive.ThrowIfDisposed(); 461_archive.RemoveEntry(this); 540private FileAccess InferAccessFromMode() => _archive.Mode switch 554switch (_archive.Mode) 573switch (_archive.Mode) 581Debug.Assert(_archive.Mode == ZipArchiveMode.Update); 603: _archive?.EntryNameAndCommentEncoding ?? Encoding.UTF8; 620_archive.ArchiveStream.Seek(_offsetOfLocalHeader, SeekOrigin.Begin); 624if (!ZipLocalFileHeader.TrySkipBlock(_archive.ArchiveStream)) 629_storedOffsetOfCompressedData = _archive.ArchiveStream.Position; 651if (_offsetOfLocalHeader > _archive.ArchiveStream.Length) 656long savedPosition = _archive.ArchiveStream.Position; 660_archive.ArchiveStream.Seek(offset, SeekOrigin.Begin); 665_archive.ArchiveStream.ReadExactly(_aesSalt); 676_archive.ArchiveStream.Seek(savedPosition, SeekOrigin.Begin); 848_archive.ArchiveStream.Seek(centralDirectoryHeaderLength, SeekOrigin.Current); 910_archive.ArchiveStream.Write(cdStaticHeader); 911_archive.ArchiveStream.Write(_storedEntryNameBytes); 914zip64ExtraField?.WriteBlock(_archive.ArchiveStream); 919CreateAesExtraField().WriteBlock(_archive.ArchiveStream); 922ZipGenericExtraField.WriteAllBlocksExcludingTag(_cdUnknownExtraFields, _cdTrailingExtraFieldData ?? Array.Empty<byte>(), _archive.ArchiveStream, WinZipAesExtraField.HeaderId); 927ZipGenericExtraField.WriteAllBlocks(_cdUnknownExtraFields, _cdTrailingExtraFieldData ?? Array.Empty<byte>(), _archive.ArchiveStream); 932_archive.ArchiveStream.Write(_fileComment); 947_archive.ArchiveStream.Seek(_offsetOfLocalHeader, SeekOrigin.Begin); 948_lhUnknownExtraFields = ZipLocalFileHeader.GetExtraFields(_archive.ArchiveStream, out _lhTrailingExtraFieldData); 978_archive.ArchiveStream.Seek(GetOffsetOfCompressedData(), SeekOrigin.Begin); 982_archive.ArchiveStream.ReadAtLeast(_compressedBytes[i], maxSingleBufferSize, throwOnEndOfStream: true); 984_archive.ArchiveStream.ReadAtLeast(_compressedBytes[_compressedBytes.Length - 1], (int)(_compressedSize % maxSingleBufferSize), throwOnEndOfStream: true); 1182Stream compressedStream = new SubReadStream(_archive.ArchiveStream, offsetOfCompressedData, _compressedSize); 1223_archive.DebugAssertIsStillArchiveStreamOwner(this); 1237Stream targetStream = _archive.ArchiveStream; 1248baseStream: _archive.ArchiveStream, 1262baseStream: _archive.ArchiveStream, 1277entry._archive.ReleaseArchiveStream(entry); 1280streamForPosition: encryptionMethod != ZipEncryptionMethod.None ? _archive.ArchiveStream : null); 1449if (!IsEncrypted && !ZipLocalFileHeader.TrySkipBlock(_archive.ArchiveStream)) 1456_archive.ArchiveStream.Seek(_offsetOfLocalHeader, SeekOrigin.Begin); 1460if (!ZipLocalFileHeader.TrySkipBlock(_archive.ArchiveStream)) 1497if (_diskNumberStart != _archive.NumberOfThisDisk) 1502if (_offsetOfLocalHeader > _archive.ArchiveStream.Length) 1508_archive.ArchiveStream.Seek(_offsetOfLocalHeader, SeekOrigin.Begin); 1519_compressedSize > _archive.ArchiveStream.Length - offsetOfCompressedData) 1611_offsetOfLocalHeader = _archive.ArchiveStream.Position; 1628bool isCreateMode = _archive.Mode == ZipArchiveMode.Create; 1643if (!_archive.ArchiveStream.CanSeek) 1653else if (isCreateMode && !_archive.ArchiveStream.CanSeek) 1689_offsetOfLocalHeader = _archive.ArchiveStream.Position; 1722_archive.ArchiveStream.Seek(ZipLocalFileHeader.SizeOfLocalHeader + _storedEntryNameBytes.Length + extraFieldLength, SeekOrigin.Current); 1731if (isEmptyFile || _archive.ArchiveStream.CanSeek) 1782_archive.ArchiveStream.Write(lfStaticHeader); 1783_archive.ArchiveStream.Write(_storedEntryNameBytes); 1786zip64ExtraField?.WriteBlock(_archive.ArchiveStream); 1791CreateAesExtraField().WriteBlock(_archive.ArchiveStream); 1794ZipGenericExtraField.WriteAllBlocksExcludingTag(_lhUnknownExtraFields, _lhTrailingExtraFieldData ?? Array.Empty<byte>(), _archive.ArchiveStream, WinZipAesExtraField.HeaderId); 1799ZipGenericExtraField.WriteAllBlocks(_lhUnknownExtraFields, _lhTrailingExtraFieldData ?? Array.Empty<byte>(), _archive.ArchiveStream); 1832long startPosition = _archive.ArchiveStream.Position; 1837baseStream: _archive.ArchiveStream, 1844using (CheckSumAndSizeWriteStream crcStream = GetDataCompressor(encryptionStream, leaveBackingStreamOpen: true, onClose: null, streamForPosition: _archive.ArchiveStream)) 1851_compressedSize = _archive.ArchiveStream.Position - startPosition; 1863long startPosition = _archive.ArchiveStream.Position; 1868baseStream: _archive.ArchiveStream, 1881using (CheckSumAndSizeWriteStream crcStream = GetDataCompressor(encryptionStream, leaveBackingStreamOpen: true, onClose: null, streamForPosition: _archive.ArchiveStream)) 1899_compressedSize = _archive.ArchiveStream.Position - startPosition; 1909using (DirectToArchiveWriterStream entryWriter = new(GetDataCompressor(_archive.ArchiveStream, true, null, null), this)) 1956long currentPos = _archive.ArchiveStream.Position; 1957_archive.ArchiveStream.Seek( 1962_archive.ArchiveStream.Write(flagBytes); 1963_archive.ArchiveStream.Seek(currentPos, SeekOrigin.Begin); 1980_archive.ArchiveStream.Write(compressedBytes, 0, compressedBytes.Length); 1993if (_archive.Mode == ZipArchiveMode.Update || !_everOpenedForWrite) 2004if (_endOfLocalEntryData > _archive.ArchiveStream.Position) 2006_archive.ArchiveStream.Seek(_endOfLocalEntryData, SeekOrigin.Begin); 2035_archive.ArchiveStream.Write(writeBuffer[..MetadataBufferLength]); 2041_archive.ArchiveStream.Write(writeBuffer[..CrcAndSizesBufferLength]); 2052_archive.ArchiveStream.Write(writeBuffer[..Zip64SizesBufferLength]); 2056_archive.ArchiveStream.Seek(finalPosition, SeekOrigin.Begin); 2064_archive.ArchiveStream.Write(writeBuffer[..Zip64DataDescriptorCrcAndSizesBufferLength]); 2070finalPosition = _archive.ArchiveStream.Position; 2091_archive.ArchiveStream.Seek(_offsetOfLocalHeader + ZipLocalFileHeader.FieldLocations.VersionNeededToExtract, 2099_archive.ArchiveStream.Seek(_offsetOfLocalHeader + ZipLocalFileHeader.FieldLocations.Crc32, 2123_archive.ArchiveStream.Seek(_offsetOfLocalHeader + ZipLocalFileHeader.SizeOfLocalHeader 2151_archive.ArchiveStream.Write(dataDescriptor[..bytesToWrite]); 2213if (_archive == null) 2217_archive.ThrowIfDisposed(); 2453long startPosition = _entry._archive.ArchiveStream.Position; 2457_entry._compressedSize = _entry._archive.ArchiveStream.Position - startPosition; 2465if (_entry._archive.ArchiveStream.CanSeek) 2512long startPosition = _entry._archive.ArchiveStream.Position; 2516_entry._compressedSize = _entry._archive.ArchiveStream.Position - startPosition; 2524if (_entry._archive.ArchiveStream.CanSeek)