Skip to main content

Search OfficeIMO

Enter a topic, API type, or PowerShell command.

Documentation Search all OfficeIMO/

API Reference

Class

ArchiveReader

Namespace OfficeIMO.Archives
Assembly OfficeIMO.Archives
Source revision a0f47aa4f111 with working tree changes
Modifiers static

Reads selected archive content without filesystem publication or executing its contents.

Inheritance

  • Object
  • ArchiveReader

Methods

EnumerateZip 2 overloads
public static IReadOnlyList<ArchiveEntryDescriptor> EnumerateZip(String zipPath, ArchiveTraversalOptions? options = null) #
Returns: IReadOnlyList<ArchiveEntryDescriptor>

Enumerates ZIP entries from a path.

Parameters

zipPath System.String requiredposition: 0
options OfficeIMO.Archives.ArchiveTraversalOptions? = null optionalposition: 1
public static IReadOnlyList<ArchiveEntryDescriptor> EnumerateZip(Stream zipStream, ArchiveTraversalOptions? options = null) #
Returns: IReadOnlyList<ArchiveEntryDescriptor>

Enumerates ZIP entries from a stream.

Parameters

zipStream System.IO.Stream requiredposition: 0
options OfficeIMO.Archives.ArchiveTraversalOptions? = null optionalposition: 1
ReadZip 2 overloads
public static IReadOnlyList<ArchiveEntryData> ReadZip(Byte[] bytes, ArchiveReadOptions? options = null, CancellationToken cancellationToken = default) #
Returns: IReadOnlyList<ArchiveEntryData>

Reads a ZIP from bytes using the same strict member validation as extraction. Returns only after every selected payload is fully verified. Do not modify the input during this call.

Parameters

bytes System.Byte[] requiredposition: 0
options OfficeIMO.Archives.ArchiveReadOptions? = null optionalposition: 1
cancellationToken System.Threading.CancellationToken = default optionalposition: 2

Exceptions

  • OfficeInspectionResourceLimitException – A configured or managed admission ceiling is exhausted.
public static IReadOnlyList<ArchiveEntryData> ReadZip(Stream source, ArchiveReadOptions? options = null, CancellationToken cancellationToken = default) #
Returns: IReadOnlyList<ArchiveEntryData>

Reads from the stream's current position to EOF into a bounded snapshot. Supports nonseekable streams, leaves the caller's stream open, and advances its position by the bytes read. Selected content is independent of the stream after return.

Parameters

source System.IO.Stream requiredposition: 0
options OfficeIMO.Archives.ArchiveReadOptions? = null optionalposition: 1
cancellationToken System.Threading.CancellationToken = default optionalposition: 2

Exceptions

  • OfficeInspectionResourceLimitException – A configured or managed admission ceiling is exhausted.
TraverseZip 5 overloads
public static ArchiveTraversalResult TraverseZip(String zipPath, ArchiveTraversalOptions? options = null) #
Returns: ArchiveTraversalResult

Traverses ZIP entries from a path and returns accepted entries with warnings.

Parameters

zipPath System.String requiredposition: 0
options OfficeIMO.Archives.ArchiveTraversalOptions? = null optionalposition: 1
public static ArchiveTraversalResult TraverseZip(Stream zipStream, ArchiveTraversalOptions? options = null) #
Returns: ArchiveTraversalResult

Traverses ZIP entries from a stream and returns accepted entries with warnings.

Parameters

zipStream System.IO.Stream requiredposition: 0
options OfficeIMO.Archives.ArchiveTraversalOptions? = null optionalposition: 1
public static ArchiveTraversalResult TraverseZip(Stream zipStream, ArchiveTraversalOptions? options, CancellationToken cancellationToken) #
Returns: ArchiveTraversalResult

Traverses a ZIP source with a physical-entry preflight and cooperative cancellation.

Parameters

zipStream System.IO.Stream requiredposition: 0
options OfficeIMO.Archives.ArchiveTraversalOptions? requiredposition: 1
cancellationToken System.Threading.CancellationToken requiredposition: 2
public static ArchiveTraversalResult TraverseZip(ZipArchive archive, ArchiveTraversalOptions? options = null) #
Returns: ArchiveTraversalResult

Traverses ZIP entries from an already opened archive and returns accepted entries with warnings.

Parameters

archive System.IO.Compression.ZipArchive requiredposition: 0
options OfficeIMO.Archives.ArchiveTraversalOptions? = null optionalposition: 1
public static ArchiveTraversalResult TraverseZip(ZipArchive archive, ArchiveTraversalOptions? options, CancellationToken cancellationToken) #
Returns: ArchiveTraversalResult

Traverses an opened archive with bounded metadata processing and cooperative cancellation.

Parameters

archive System.IO.Compression.ZipArchive requiredposition: 0
options OfficeIMO.Archives.ArchiveTraversalOptions? requiredposition: 1
cancellationToken System.Threading.CancellationToken requiredposition: 2
public static Void ValidateZipSource(Stream zipStream, ArchiveTraversalOptions? options = null, CancellationToken cancellationToken = default) #
Returns: Void

Validates compressed size and physical entry count on a seekable ZIP source before opening a ZipArchive. The source position is restored. This check is safe only if the caller keeps the source bytes immutable until its archive has been read. Prefer a stream or path TraverseZip overload for mutable or untrusted sources.

Parameters

zipStream System.IO.Stream requiredposition: 0
options OfficeIMO.Archives.ArchiveTraversalOptions? = null optionalposition: 1
cancellationToken System.Threading.CancellationToken = default optionalposition: 2