3 writes to _archive
System.IO.Compression (3)
System\IO\Compression\ZipArchiveEntry.cs (3)
64_archive = archive; 162_archive = archive; 448_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)
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; 1621if (!_archive.ArchiveStream.CanSeek) 1631else if (isCreateMode && !_archive.ArchiveStream.CanSeek) 1667_offsetOfLocalHeader = _archive.ArchiveStream.Position; 1700_archive.ArchiveStream.Seek(ZipLocalFileHeader.SizeOfLocalHeader + _storedEntryNameBytes.Length + extraFieldLength, SeekOrigin.Current); 1709if (isEmptyFile || _archive.ArchiveStream.CanSeek) 1760_archive.ArchiveStream.Write(lfStaticHeader); 1761_archive.ArchiveStream.Write(_storedEntryNameBytes); 1764zip64ExtraField?.WriteBlock(_archive.ArchiveStream); 1769CreateAesExtraField().WriteBlock(_archive.ArchiveStream); 1772ZipGenericExtraField.WriteAllBlocksExcludingTag(_lhUnknownExtraFields, _lhTrailingExtraFieldData ?? Array.Empty<byte>(), _archive.ArchiveStream, WinZipAesExtraField.HeaderId); 1777ZipGenericExtraField.WriteAllBlocks(_lhUnknownExtraFields, _lhTrailingExtraFieldData ?? Array.Empty<byte>(), _archive.ArchiveStream); 1810long startPosition = _archive.ArchiveStream.Position; 1815baseStream: _archive.ArchiveStream, 1822using (CheckSumAndSizeWriteStream crcStream = GetDataCompressor(encryptionStream, leaveBackingStreamOpen: true, onClose: null, streamForPosition: _archive.ArchiveStream)) 1829_compressedSize = _archive.ArchiveStream.Position - startPosition; 1841long startPosition = _archive.ArchiveStream.Position; 1846baseStream: _archive.ArchiveStream, 1859using (CheckSumAndSizeWriteStream crcStream = GetDataCompressor(encryptionStream, leaveBackingStreamOpen: true, onClose: null, streamForPosition: _archive.ArchiveStream)) 1877_compressedSize = _archive.ArchiveStream.Position - startPosition; 1887using (DirectToArchiveWriterStream entryWriter = new(GetDataCompressor(_archive.ArchiveStream, true, null, null), this)) 1934long currentPos = _archive.ArchiveStream.Position; 1935_archive.ArchiveStream.Seek( 1940_archive.ArchiveStream.Write(flagBytes); 1941_archive.ArchiveStream.Seek(currentPos, SeekOrigin.Begin); 1958_archive.ArchiveStream.Write(compressedBytes, 0, compressedBytes.Length); 1971if (_archive.Mode == ZipArchiveMode.Update || !_everOpenedForWrite) 1982if (_endOfLocalEntryData > _archive.ArchiveStream.Position) 1984_archive.ArchiveStream.Seek(_endOfLocalEntryData, SeekOrigin.Begin); 2013_archive.ArchiveStream.Write(writeBuffer[..MetadataBufferLength]); 2019_archive.ArchiveStream.Write(writeBuffer[..CrcAndSizesBufferLength]); 2030_archive.ArchiveStream.Write(writeBuffer[..Zip64SizesBufferLength]); 2034_archive.ArchiveStream.Seek(finalPosition, SeekOrigin.Begin); 2042_archive.ArchiveStream.Write(writeBuffer[..Zip64DataDescriptorCrcAndSizesBufferLength]); 2048finalPosition = _archive.ArchiveStream.Position; 2069_archive.ArchiveStream.Seek(_offsetOfLocalHeader + ZipLocalFileHeader.FieldLocations.VersionNeededToExtract, 2077_archive.ArchiveStream.Seek(_offsetOfLocalHeader + ZipLocalFileHeader.FieldLocations.Crc32, 2101_archive.ArchiveStream.Seek(_offsetOfLocalHeader + ZipLocalFileHeader.SizeOfLocalHeader 2129_archive.ArchiveStream.Write(dataDescriptor[..bytesToWrite]); 2191if (_archive == null) 2195_archive.ThrowIfDisposed(); 2431long startPosition = _entry._archive.ArchiveStream.Position; 2435_entry._compressedSize = _entry._archive.ArchiveStream.Position - startPosition; 2443if (_entry._archive.ArchiveStream.CanSeek) 2490long startPosition = _entry._archive.ArchiveStream.Position; 2494_entry._compressedSize = _entry._archive.ArchiveStream.Position - startPosition; 2502if (_entry._archive.ArchiveStream.CanSeek)