OutlookMailStoreReaderOptions Class
Definition
- Assembly
- Bodu.Formats.Outlook.Pst.dll
- Package
- Bodu.Formats.Outlook.Pst 0.7.1
Controls how an OutlookMailStore reads its PST container and decodes message content.
public sealed class OutlookMailStoreReaderOptions
- Inheritance
-
OutlookMailStoreReaderOptions
- Inherited Members
- Extension Methods
Constructors
OutlookMailStoreReaderOptions()
public OutlookMailStoreReaderOptions()
Properties
BlockCacheSize
Gets the decoded page/block cache budget of the underlying container session, in entries.
public int BlockCacheSize { get; init; }
Property Value
- int
The cache entry budget;
256by default.0disables caching entirely.
Exceptions
- ArgumentOutOfRangeException
The value is negative.
DecompressRtf
Gets a value indicating whether the compressed RTF body (PidTagRtfCompressed) is decompressed when read
through the body conveniences.
public bool DecompressRtf { get; init; }
Property Value
MaxDecompressedRtfBytes
Gets the largest decompressed RTF body, in bytes, the reader produces.
public int MaxDecompressedRtfBytes { get; init; }
Property Value
- int
The ceiling; 64 MiB by default.
Remarks
A compressed payload whose declared or produced size exceeds the ceiling is rejected with OutlookPstFormatException at every validation level.
Exceptions
- ArgumentOutOfRangeException
The value is zero or negative.
MaxEmbeddedMessageDepth
Gets the deepest embedded-message nesting the reader opens: a folder-level message is depth zero, a message opened from one of its attachments is depth one, and so on.
public int MaxEmbeddedMessageDepth { get; init; }
Property Value
- int
The nesting limit;
16by default.
Remarks
Opening an embedded message past the limit throws OutlookPstFormatException at every validation level, so a crafted subnode graph cannot drive a recursive consumer off its stack.
Exceptions
- ArgumentOutOfRangeException
The value is zero or negative.
MaxInlineAttachmentBytes
Gets the largest by-value attachment payload, in bytes, that is decoded into the attachment's
Properties; a larger PidTagAttachDataBinary is left in the store and
served only through OpenContentStream().
public int MaxInlineAttachmentBytes { get; init; }
Property Value
- int
The inline payload limit; 1 MiB by default.
Remarks
Above the limit the property is still present in the collection, with a null value, so Contains(MapiPropertyTag) and Method are unaffected; GetBinary(ushort) returns null and the content streams from the container without being materialized. This is an inline-decoding threshold, not a validation rule: it does not vary with ValidationLevel.
Exceptions
- ArgumentOutOfRangeException
The value is zero or negative.
MaxNodeDataLength
Gets the largest node payload, in bytes, the underlying container materializes in memory - the ceiling on any single property value, attachment payload, or table the store decodes at once.
public long MaxNodeDataLength { get; init; }
Property Value
- long
The materialization limit; 256 MiB by default (see MaxNodeDataLength).
Exceptions
- ArgumentOutOfRangeException
The value is zero or negative.
ValidationLevel
Gets how strictly the container's structures and checksums are validated.
public PstValidationLevel ValidationLevel { get; init; }
Property Value
- PstValidationLevel
The validation level; Compatible by default.
Applies to
| Product | Versions |
|---|---|
| .NET | 8, 10 |