API Reference

Class

OfflineAddressBookSession

Namespace OfficeIMO.Email.AddressBook
Assembly OfficeIMO.Email
Implements
IDisposable
Modifiers sealed

Read-only, lazy session over one OAB v4 Full Details file or a directory containing multiple address lists. Sessions are not thread-safe.

Inheritance

  • Object
  • OfflineAddressBookSession

Usage

This type appears in these public API surfaces even when no hand-authored example is attached directly to the page.

Methods

public OfflineAddressBookIdentityIndex BuildIdentityIndex(OfflineAddressBookIdentityIndexOptions options = null, CancellationToken cancellationToken = null) #
Returns: OfflineAddressBookIdentityIndex

Builds an immutable, bounded index for offline SMTP, proxy, EX/X.500, target, account, and optional display-name identity resolution.

Parameters

options OfficeIMO.Email.AddressBook.OfflineAddressBookIdentityIndexOptions = null optionalposition: 0
cancellationToken System.Threading.CancellationToken = null optionalposition: 1
public virtual Void Dispose() #
Returns: Void

Restores caller-owned stream positions. Source files are opened only during individual operations.

public IEnumerable<OfflineAddressBookEntry> EnumerateEntries(OfflineAddressBookEnumerationOptions options = null, CancellationToken cancellationToken = null) #
Returns: IEnumerable<OfflineAddressBookEntry>

Lazily decodes entries, keeping memory related to the active record rather than total OAB size.

Parameters

options OfficeIMO.Email.AddressBook.OfflineAddressBookEnumerationOptions = null optionalposition: 0
cancellationToken System.Threading.CancellationToken = null optionalposition: 1
public IEnumerable<OfflineAddressBookEntryReference> EnumerateEntryReferences(OfflineAddressBookEnumerationOptions options = null, CancellationToken cancellationToken = null) #
Returns: IEnumerable<OfflineAddressBookEntryReference>

Lazily enumerates record references without decoding property values.

Parameters

options OfficeIMO.Email.AddressBook.OfflineAddressBookEnumerationOptions = null optionalposition: 0
cancellationToken System.Threading.CancellationToken = null optionalposition: 1
Open 2 overloads
public static OfflineAddressBookSession Open(String path, OfflineAddressBookReaderOptions options = null, CancellationToken cancellationToken = null) #
Returns: OfflineAddressBookSession

Opens one Full Details file or discovers every Full Details component below a directory.

Parameters

path System.String requiredposition: 0
options OfficeIMO.Email.AddressBook.OfflineAddressBookReaderOptions = null optionalposition: 1
cancellationToken System.Threading.CancellationToken = null optionalposition: 2
public static OfflineAddressBookSession Open(Stream stream, String sourceName, OfflineAddressBookReaderOptions options = null, CancellationToken cancellationToken = null) #
Returns: OfflineAddressBookSession

Opens an uncompressed OAB v4 Full Details stream without taking ownership. The stream must be seekable. Its original position is restored after each operation and when the session is disposed.

Parameters

stream System.IO.Stream requiredposition: 0
sourceName System.String requiredposition: 1
options OfficeIMO.Email.AddressBook.OfflineAddressBookReaderOptions = null optionalposition: 2
cancellationToken System.Threading.CancellationToken = null optionalposition: 3
public OfflineAddressBookEntry ReadEntry(OfflineAddressBookEntryReference reference, CancellationToken cancellationToken = null) #
Returns: OfflineAddressBookEntry

Random-access reads one previously enumerated record reference.

Parameters

reference OfficeIMO.Email.AddressBook.OfflineAddressBookEntryReference requiredposition: 0
cancellationToken System.Threading.CancellationToken = null optionalposition: 1
public OfflineAddressBookSearchReport Search(OfflineAddressBookSearchQuery query, IProgress<OfflineAddressBookSearchProgress> progress = null, CancellationToken cancellationToken = null) #
Returns: OfflineAddressBookSearchReport

Searches semantic address-entry fields with explicit record, character, result, progress, cancellation, and exact-position resume bounds.

Parameters

query OfficeIMO.Email.AddressBook.OfflineAddressBookSearchQuery requiredposition: 0
progress System.IProgress{OfficeIMO.Email.AddressBook.OfflineAddressBookSearchProgress} = null optionalposition: 1
cancellationToken System.Threading.CancellationToken = null optionalposition: 2
public OfflineAddressBookValidationReport Validate(OfflineAddressBookValidationOptions options = null, IProgress<OfflineAddressBookValidationProgress> progress = null, CancellationToken cancellationToken = null) #
Returns: OfflineAddressBookValidationReport

Runs an explicit checksum, record-framing, or full-decode integrity pass.

Parameters

options OfficeIMO.Email.AddressBook.OfflineAddressBookValidationOptions = null optionalposition: 0
progress System.IProgress{OfficeIMO.Email.AddressBook.OfflineAddressBookValidationProgress} = null optionalposition: 1
cancellationToken System.Threading.CancellationToken = null optionalposition: 2

Properties

public String SourcePath { get; } #

Path or stream name used to open the session.

public IReadOnlyList<OfflineAddressBookFileInfo> Files { get; } #

All discovered OAB components, including supporting legacy indexes and templates.

public IReadOnlyList<OfflineAddressBookListInfo> AddressLists { get; } #

Modern OAB v4 Full Details address lists available for entry enumeration.

public Int64 DeclaredEntryCount { get; } #

Total declared records across all address lists.

public IReadOnlyList<EmailDiagnostic> Diagnostics { get; } #

Open, discovery, and recoverable entry diagnostics.