Table of Contents

Class AntivirusScanOptions

Namespace
Archiver.Core.Models
Assembly
Archiver.Core.dll

T-F146. Deliberately not ExtractOptions — a scan never has a destination/conflict/MOTW dimension, so reusing that record would carry a pile of meaningless properties.

public sealed record AntivirusScanOptions : IEquatable<AntivirusScanOptions>
Inheritance
AntivirusScanOptions
Implements
Inherited Members

Properties

ArchivePaths

public required IReadOnlyList<string> ArchivePaths { get; init; }

Property Value

IReadOnlyList<string>

ResolvePasswordAsync

T-F194: same hook as ResolvePasswordAsync — asked once per archive that contains an encrypted ZIP entry, so that entry's decrypted plaintext can be handed to AMSI. Null (or a declined/wrong password) leaves every encrypted entry Inconclusive ("password-protected, not scanned") — never Clean.

public Func<PasswordPromptInfo, Task<PasswordDecision>>? ResolvePasswordAsync { get; init; }

Property Value

Func<PasswordPromptInfo, Task<PasswordDecision>>

SelectedEntryPaths

Same convention as ExtractOptions.SelectedEntryPaths (T-F97/T-F98) — null/empty means "scan the whole archive"; only meaningful when ArchivePaths has exactly one entry.

public IReadOnlyList<string>? SelectedEntryPaths { get; init; }

Property Value

IReadOnlyList<string>