3 writes to _archive
System.IO.Compression (3)
System\IO\Compression\ZipArchiveEntry.cs (3)
64_archive = archive; 162_archive = archive; 448_archive = null!;
151 references to _archive
System.IO.Compression (151)
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); 917long currentPos = _archive.ArchiveStream.Position; 918_archive.ArchiveStream.Seek( 923await _archive.ArchiveStream.WriteAsync(flagBytes, cancellationToken).ConfigureAwait(false); 924_archive.ArchiveStream.Seek(currentPos, SeekOrigin.Begin); 941await _archive.ArchiveStream.WriteAsync(compressedBytes, cancellationToken).ConfigureAwait(false); 954if (_archive.Mode == ZipArchiveMode.Update || !_everOpenedForWrite) 965if (_endOfLocalEntryData > _archive.ArchiveStream.Position) 967_archive.ArchiveStream.Seek(_endOfLocalEntryData, SeekOrigin.Begin); 991await _archive.ArchiveStream.WriteAsync(writeBuffer.AsMemory(0, MetadataBufferLength), cancellationToken).ConfigureAwait(false); 997await _archive.ArchiveStream.WriteAsync(writeBuffer.AsMemory(0, CrcAndSizesBufferLength), cancellationToken).ConfigureAwait(false); 1008await _archive.ArchiveStream.WriteAsync(writeBuffer.AsMemory(0, Zip64SizesBufferLength), cancellationToken).ConfigureAwait(false); 1012_archive.ArchiveStream.Seek(finalPosition, SeekOrigin.Begin); 1020await _archive.ArchiveStream.WriteAsync(writeBuffer.AsMemory(0, Zip64DataDescriptorCrcAndSizesBufferLength), cancellationToken).ConfigureAwait(false); 1029return _archive.ArchiveStream.WriteAsync(dataDescriptor.AsMemory(0, bytesToWrite), cancellationToken);
System\IO\Compression\ZipArchiveEntry.cs (94)
204if (_archive.Mode == ZipArchiveMode.Create) 206_archive.AcquireArchiveStream(this); 215public ZipArchive Archive => _archive; 300_fileComment = ZipHelper.GetEncodedTruncatedBytesFromString(value, _archive.EntryNameAndCommentEncoding, ushort.MaxValue, out bool isUTF8); 327value, _archive.EntryNameAndCommentEncoding, 0 /* No truncation */, out bool isUTF8); 368if (_archive.Mode == ZipArchiveMode.Read) 372if (_archive.Mode == ZipArchiveMode.Create && _everOpenedForWrite) 430if (_archive == null) 440if (_archive.Mode != ZipArchiveMode.Update) 445_archive.ThrowIfDisposed(); 447_archive.RemoveEntry(this); 526private FileAccess InferAccessFromMode() => _archive.Mode switch 540switch (_archive.Mode) 559switch (_archive.Mode) 567Debug.Assert(_archive.Mode == ZipArchiveMode.Update); 589: _archive?.EntryNameAndCommentEncoding ?? Encoding.UTF8; 606_archive.ArchiveStream.Seek(_offsetOfLocalHeader, SeekOrigin.Begin); 610if (!ZipLocalFileHeader.TrySkipBlock(_archive.ArchiveStream)) 615_storedOffsetOfCompressedData = _archive.ArchiveStream.Position; 637if (_offsetOfLocalHeader > _archive.ArchiveStream.Length) 642long savedPosition = _archive.ArchiveStream.Position; 646_archive.ArchiveStream.Seek(offset, SeekOrigin.Begin); 651_archive.ArchiveStream.ReadExactly(_aesSalt); 662_archive.ArchiveStream.Seek(savedPosition, SeekOrigin.Begin); 834_archive.ArchiveStream.Seek(centralDirectoryHeaderLength, SeekOrigin.Current); 897_archive.ArchiveStream.Write(cdStaticHeader); 898_archive.ArchiveStream.Write(_storedEntryNameBytes); 901zip64ExtraField?.WriteBlock(_archive.ArchiveStream); 906CreateAesExtraField().WriteBlock(_archive.ArchiveStream); 909ZipGenericExtraField.WriteAllBlocksExcludingTag(_cdUnknownExtraFields, _cdTrailingExtraFieldData ?? Array.Empty<byte>(), _archive.ArchiveStream, WinZipAesExtraField.HeaderId); 914ZipGenericExtraField.WriteAllBlocks(_cdUnknownExtraFields, _cdTrailingExtraFieldData ?? Array.Empty<byte>(), _archive.ArchiveStream); 919_archive.ArchiveStream.Write(_fileComment); 934_archive.ArchiveStream.Seek(_offsetOfLocalHeader, SeekOrigin.Begin); 935_lhUnknownExtraFields = ZipLocalFileHeader.GetExtraFields(_archive.ArchiveStream, out _lhTrailingExtraFieldData); 965_archive.ArchiveStream.Seek(GetOffsetOfCompressedData(), SeekOrigin.Begin); 969_archive.ArchiveStream.ReadAtLeast(_compressedBytes[i], maxSingleBufferSize, throwOnEndOfStream: true); 971_archive.ArchiveStream.ReadAtLeast(_compressedBytes[_compressedBytes.Length - 1], (int)(_compressedSize % maxSingleBufferSize), throwOnEndOfStream: true); 1156Stream compressedStream = new SubReadStream(_archive.ArchiveStream, offsetOfCompressedData, _compressedSize); 1197_archive.DebugAssertIsStillArchiveStreamOwner(this); 1211Stream targetStream = _archive.ArchiveStream; 1222baseStream: _archive.ArchiveStream, 1236baseStream: _archive.ArchiveStream, 1253entry._archive.ReleaseArchiveStream(entry); 1256streamForPosition: encryptionMethod != ZipEncryptionMethod.None ? _archive.ArchiveStream : null); 1427if (!IsEncrypted && !ZipLocalFileHeader.TrySkipBlock(_archive.ArchiveStream)) 1434_archive.ArchiveStream.Seek(_offsetOfLocalHeader, SeekOrigin.Begin); 1438if (!ZipLocalFileHeader.TrySkipBlock(_archive.ArchiveStream)) 1475if (_diskNumberStart != _archive.NumberOfThisDisk) 1480if (_offsetOfLocalHeader > _archive.ArchiveStream.Length) 1486_archive.ArchiveStream.Seek(_offsetOfLocalHeader, SeekOrigin.Begin); 1497_compressedSize > _archive.ArchiveStream.Length - offsetOfCompressedData) 1589_offsetOfLocalHeader = _archive.ArchiveStream.Position; 1606bool isCreateMode = _archive.Mode == ZipArchiveMode.Create; 1624else if (isCreateMode && !_archive.ArchiveStream.CanSeek) 1660_offsetOfLocalHeader = _archive.ArchiveStream.Position; 1693_archive.ArchiveStream.Seek(ZipLocalFileHeader.SizeOfLocalHeader + _storedEntryNameBytes.Length + extraFieldLength, SeekOrigin.Current); 1702if (isEmptyFile || _archive.ArchiveStream.CanSeek) 1753_archive.ArchiveStream.Write(lfStaticHeader); 1754_archive.ArchiveStream.Write(_storedEntryNameBytes); 1757zip64ExtraField?.WriteBlock(_archive.ArchiveStream); 1762CreateAesExtraField().WriteBlock(_archive.ArchiveStream); 1765ZipGenericExtraField.WriteAllBlocksExcludingTag(_lhUnknownExtraFields, _lhTrailingExtraFieldData ?? Array.Empty<byte>(), _archive.ArchiveStream, WinZipAesExtraField.HeaderId); 1770ZipGenericExtraField.WriteAllBlocks(_lhUnknownExtraFields, _lhTrailingExtraFieldData ?? Array.Empty<byte>(), _archive.ArchiveStream); 1803long startPosition = _archive.ArchiveStream.Position; 1808baseStream: _archive.ArchiveStream, 1815using (CheckSumAndSizeWriteStream crcStream = GetDataCompressor(encryptionStream, leaveBackingStreamOpen: true, onClose: null, streamForPosition: _archive.ArchiveStream)) 1822_compressedSize = _archive.ArchiveStream.Position - startPosition; 1834long startPosition = _archive.ArchiveStream.Position; 1839baseStream: _archive.ArchiveStream, 1852using (CheckSumAndSizeWriteStream crcStream = GetDataCompressor(encryptionStream, leaveBackingStreamOpen: true, onClose: null, streamForPosition: _archive.ArchiveStream)) 1870_compressedSize = _archive.ArchiveStream.Position - startPosition; 1880using (DirectToArchiveWriterStream entryWriter = new(GetDataCompressor(_archive.ArchiveStream, true, null, null), this)) 1926long currentPos = _archive.ArchiveStream.Position; 1927_archive.ArchiveStream.Seek( 1932_archive.ArchiveStream.Write(flagBytes); 1933_archive.ArchiveStream.Seek(currentPos, SeekOrigin.Begin); 1950_archive.ArchiveStream.Write(compressedBytes, 0, compressedBytes.Length); 1963if (_archive.Mode == ZipArchiveMode.Update || !_everOpenedForWrite) 1974if (_endOfLocalEntryData > _archive.ArchiveStream.Position) 1976_archive.ArchiveStream.Seek(_endOfLocalEntryData, SeekOrigin.Begin); 2005_archive.ArchiveStream.Write(writeBuffer[..MetadataBufferLength]); 2011_archive.ArchiveStream.Write(writeBuffer[..CrcAndSizesBufferLength]); 2022_archive.ArchiveStream.Write(writeBuffer[..Zip64SizesBufferLength]); 2026_archive.ArchiveStream.Seek(finalPosition, SeekOrigin.Begin); 2034_archive.ArchiveStream.Write(writeBuffer[..Zip64DataDescriptorCrcAndSizesBufferLength]); 2040finalPosition = _archive.ArchiveStream.Position; 2061_archive.ArchiveStream.Seek(_offsetOfLocalHeader + ZipLocalFileHeader.FieldLocations.VersionNeededToExtract, 2069_archive.ArchiveStream.Seek(_offsetOfLocalHeader + ZipLocalFileHeader.FieldLocations.Crc32, 2093_archive.ArchiveStream.Seek(_offsetOfLocalHeader + ZipLocalFileHeader.SizeOfLocalHeader 2121_archive.ArchiveStream.Write(dataDescriptor[..bytesToWrite]); 2183if (_archive == null) 2187_archive.ThrowIfDisposed(); 2419if (_entry._archive.ArchiveStream.CanSeek) 2465if (_entry._archive.ArchiveStream.CanSeek)