API Reference
EmailStoreSession
Keeps an email-store source open for bounded folder discovery, lightweight item enumeration, and explicit item reads. Sessions are not thread-safe.
Inheritance
- Object
- EmailStoreSession
Usage
This type appears in these public API surfaces even when no hand-authored example is attached directly to the page.
Returned or exposed by
- Property EmailDataOpenResult.Store
- Method EmailStoreSession.Open
- Method EmailStoreSession.Open
Methods
public EmailConversationGraph BuildConversationGraph(EmailConversationGraphOptions options = null, CancellationToken cancellationToken = null) #EmailConversationGraphBuilds a bounded cross-folder conversation graph from Internet threading fields, Outlook conversation identities, and meeting/task lifecycle identifiers. Subject-only links remain explicitly heuristic.
Parameters
- options OfficeIMO.Email.Store.EmailConversationGraphOptions = null
- cancellationToken System.Threading.CancellationToken = null
public EmailStorePstCompactionReport CompactToPst(String destinationPath, EmailStorePstCompactionOptions options = null, CancellationToken cancellationToken = null) #EmailStorePstCompactionReportRewrites the selected live PST data to a distinct destination, reopens it, compares every written item, and commits only after verification. This method never replaces the open source PST.
Parameters
- destinationPath System.String
- options OfficeIMO.Email.Store.EmailStorePstCompactionOptions = null
- cancellationToken System.Threading.CancellationToken = null
public EmailStoreRecoveryReport DiscoverRecoverableItems(EmailStoreRecoveryOptions options = null, CancellationToken cancellationToken = null) #EmailStoreRecoveryReportDiscovers indexed items absent from normal folder contents tables without modifying the source.
Parameters
- options OfficeIMO.Email.Store.EmailStoreRecoveryOptions = null
- cancellationToken System.Threading.CancellationToken = null
public virtual Void Dispose() #VoidCloses owned sources or restores the position of a caller-owned stream.
public IEnumerable<EmailStoreItemReference> EnumerateItems(EmailStoreEnumerationOptions options = null, CancellationToken cancellationToken = null) #IEnumerable<EmailStoreItemReference>Streams lightweight item references according to the requested folder and recovery scope.
Parameters
- options OfficeIMO.Email.Store.EmailStoreEnumerationOptions = null
- cancellationToken System.Threading.CancellationToken = null
public IEnumerable<EmailStoreItemReference> EnumerateItems(EmailStoreFolderId folderId, Boolean includeDescendants = false, Boolean includeAssociatedItems = false, Int32 maxItems = 2147483647, CancellationToken cancellationToken = null) #IEnumerable<EmailStoreItemReference>Streams lightweight references from one typed folder scope.
Parameters
- folderId OfficeIMO.Email.Store.EmailStoreFolderId
- includeDescendants System.Boolean = false
- includeAssociatedItems System.Boolean = false
- maxItems System.Int32 = 2147483647
- cancellationToken System.Threading.CancellationToken = null
public EmailStoreAsyncEnumerable<EmailStoreItemReference> EnumerateItemsAsync(EmailStoreEnumerationOptions options = null, CancellationToken cancellationToken = null) #EmailStoreAsyncEnumerable<EmailStoreItemReference>Asynchronously streams lightweight references without adding an async-interface compatibility dependency. The returned concrete type supports C# await foreach on every package target.
Parameters
- options OfficeIMO.Email.Store.EmailStoreEnumerationOptions = null
- cancellationToken System.Threading.CancellationToken = null
public EmailStorePstSplitReport ExecutePstSplit(EmailStorePstSplitPlan plan, CancellationToken cancellationToken = null) #EmailStorePstSplitReportExecutes a dry-run plan by staging every part, reopening and semantically verifying every written item, then committing the complete output set with rollback protection for replaced destinations.
Parameters
- plan OfficeIMO.Email.Store.EmailStorePstSplitPlan
- cancellationToken System.Threading.CancellationToken = null
public EmailStoreRecoveryExportReport ExportRecoverableItemsToDirectory(String destinationDirectory, EmailStoreRecoveryExportOptions options = null, CancellationToken cancellationToken = null) #EmailStoreRecoveryExportReportDiscovers source-index orphans, exports each readable item independently, and records original item/folder evidence in a manifest. An isolated corrupt item does not invalidate successful artifacts when continuation is enabled. The source store is never modified.
Parameters
- destinationDirectory System.String
- options OfficeIMO.Email.Store.EmailStoreRecoveryExportOptions = null
- cancellationToken System.Threading.CancellationToken = null
public EmailStoreExportReport ExportToDirectory(String destinationDirectory, EmailStoreExportOptions options = null, CancellationToken cancellationToken = null) #EmailStoreExportReportExports selected items one at a time through OfficeIMO.Email writers and records preservation diagnostics. The source store is never modified.
Parameters
- destinationDirectory System.String
- options OfficeIMO.Email.Store.EmailStoreExportOptions = null
- cancellationToken System.Threading.CancellationToken = null
public EmailStoreMboxExportReport ExportToMbox(String destinationPath, EmailStoreMboxExportOptions options = null, CancellationToken cancellationToken = null) #EmailStoreMboxExportReportStreams selected messages through the OfficeIMO.Email mbox writer into a same-directory temporary file, then commits the completed mailbox. The source store is never modified.
Parameters
- destinationPath System.String
- options OfficeIMO.Email.Store.EmailStoreMboxExportOptions = null
- cancellationToken System.Threading.CancellationToken = null
public EmailStoreExportReport ExportToNativeDirectory(String destinationDirectory, EmailStoreNativeDirectoryExportOptions options, CancellationToken cancellationToken = null) #EmailStoreExportReportExports selected items to a Maildir or EMLX directory tree without modifying the source.
Parameters
- destinationDirectory System.String
- options OfficeIMO.Email.Store.EmailStoreNativeDirectoryExportOptions
- cancellationToken System.Threading.CancellationToken = null
public EmailStorePstConversionReport ExportToPst(String destinationPath, EmailStorePstConversionOptions options = null, CancellationToken cancellationToken = null) #EmailStorePstConversionReportStreams this open store into a newly created Unicode PST. The source is read-only and is never mutated.
Parameters
- destinationPath System.String
- options OfficeIMO.Email.Store.EmailStorePstConversionOptions = null
- cancellationToken System.Threading.CancellationToken = null
public EmailStoreReminderQueue GetReminders(EmailStoreReminderQueryOptions options = null, CancellationToken cancellationToken = null) #EmailStoreReminderQueueBuilds a bounded reminder queue from item properties, respecting Outlook's excluded-folder domain by default.
Parameters
- options OfficeIMO.Email.Store.EmailStoreReminderQueryOptions = null
- cancellationToken System.Threading.CancellationToken = null
public EmailStoreInspectionReport Inspect() #EmailStoreInspectionReportReturns the constant-memory catalog snapshot built while opening this session.
public static EmailStoreSession Open(String path, EmailStoreReaderOptions options = null, CancellationToken cancellationToken = null) #EmailStoreSessionOpens a file with random-access sharing suitable for large PST/OST sources.
Parameters
- path System.String
- options OfficeIMO.Email.Store.EmailStoreReaderOptions = null
- cancellationToken System.Threading.CancellationToken = null
public static EmailStoreSession Open(Stream stream, String sourceName = null, EmailStoreReaderOptions options = null, Boolean leaveOpen = true, CancellationToken cancellationToken = null) #EmailStoreSessionOpens a readable, seekable caller stream. Its original position is restored when the session is disposed.
Parameters
- stream System.IO.Stream
- sourceName System.String = null
- options OfficeIMO.Email.Store.EmailStoreReaderOptions = null
- leaveOpen System.Boolean = true
- cancellationToken System.Threading.CancellationToken = null
public EmailStorePstCompactionPlan PlanPstCompaction(String destinationPath, EmailStorePstCompactionOptions options = null, CancellationToken cancellationToken = null) #EmailStorePstCompactionPlanScans lightweight summaries and produces a no-write capacity/selection plan for a distinct compacted PST.
Parameters
- destinationPath System.String
- options OfficeIMO.Email.Store.EmailStorePstCompactionOptions = null
- cancellationToken System.Threading.CancellationToken = null
public EmailStorePstSplitPlan PlanPstSplit(String outputBasePath, EmailStorePstSplitOptions options = null, CancellationToken cancellationToken = null) #EmailStorePstSplitPlanBuilds a read-only query/size partition plan. No item payloads are read and no files are written.
Parameters
- outputBasePath System.String
- options OfficeIMO.Email.Store.EmailStorePstSplitOptions = null
- cancellationToken System.Threading.CancellationToken = null
public EmailStoreReadResult ReadAll(CancellationToken cancellationToken = null) #EmailStoreReadResultMaterializes the configured store scope as a compatibility convenience. Attachment payloads are omitted when RetainAttachmentContent is false; use selective session reads for deferred attachment streams.
Parameters
- cancellationToken System.Threading.CancellationToken = null
public EmailStoreAssociatedDataCatalog ReadAssociatedData(EmailStoreAssociatedDataOptions options = null, CancellationToken cancellationToken = null) #EmailStoreAssociatedDataCatalogReads bounded folder-associated information and projects documented category, configuration, view, rule, search-folder, and folder-field envelopes. Message bodies, recipients, and attachments are not read.
Parameters
- options OfficeIMO.Email.Store.EmailStoreAssociatedDataOptions = null
- cancellationToken System.Threading.CancellationToken = null
public EmailStoreItem ReadItem(EmailStoreItemReference reference, CancellationToken cancellationToken = null) #EmailStoreItemReads and projects one explicitly selected item.
Parameters
- reference OfficeIMO.Email.Store.EmailStoreItemReference
- cancellationToken System.Threading.CancellationToken = null
public EmailStoreItem ReadItem(EmailStoreItemReference reference, EmailStoreItemReadOptions options, CancellationToken cancellationToken = null) #EmailStoreItemReads only the requested parts of one explicitly selected item when the backend supports it.
Parameters
- reference OfficeIMO.Email.Store.EmailStoreItemReference
- options OfficeIMO.Email.Store.EmailStoreItemReadOptions
- cancellationToken System.Threading.CancellationToken = null
public EmailStoreItemSummary ReadSummary(EmailStoreItemReference reference, CancellationToken cancellationToken = null) #EmailStoreItemSummaryReads only the small set of source properties needed for browsing and search when the format supports it. A summary already carried by reference is returned without another source read.
Parameters
- reference OfficeIMO.Email.Store.EmailStoreItemReference
- cancellationToken System.Threading.CancellationToken = null
public IEnumerable<EmailStoreSearchResult> Search(EmailStoreQuery query, CancellationToken cancellationToken = null) #IEnumerable<EmailStoreSearchResult>Searches bounded lightweight summaries without materializing message bodies, recipients, or attachments.
Parameters
- query OfficeIMO.Email.Store.EmailStoreQuery
- cancellationToken System.Threading.CancellationToken = null
public EmailStoreContentSearchReport SearchContent(EmailStoreContentQuery query, IProgress<EmailStoreContentSearchProgress> progress = null, CancellationToken cancellationToken = null) #EmailStoreContentSearchReportSearches selected semantic fields with explicit scan, decode, character, result, progress, and resume bounds.
Parameters
- query OfficeIMO.Email.Store.EmailStoreContentQuery
- progress System.IProgress{OfficeIMO.Email.Store.EmailStoreContentSearchProgress} = null
- cancellationToken System.Threading.CancellationToken = null
public EmailStoreTablePage SearchPage(EmailStoreTableQuery query, CancellationToken cancellationToken = null) #EmailStoreTablePageExecutes a bounded typed table query using lightweight summaries only. Complete item payloads are not read.
Parameters
- query OfficeIMO.Email.Store.EmailStoreTableQuery
- cancellationToken System.Threading.CancellationToken = null
public EmailStorePstSplitReport SplitToPst(String outputBasePath, EmailStorePstSplitOptions options = null, CancellationToken cancellationToken = null) #EmailStorePstSplitReportPlans and executes a verified split in one call.
Parameters
- outputBasePath System.String
- options OfficeIMO.Email.Store.EmailStorePstSplitOptions = null
- cancellationToken System.Threading.CancellationToken = null
public EmailStoreValidationReport Validate(EmailStoreValidationOptions options = null, CancellationToken cancellationToken = null) #EmailStoreValidationReportValidates a bounded store scope at structural, summary, or fully projected depth.
Parameters
- options OfficeIMO.Email.Store.EmailStoreValidationOptions = null
- cancellationToken System.Threading.CancellationToken = null
Inherited Methods
public override Boolean Equals(Object obj) #BooleanParameters
- obj Object
Properties
public EmailStoreFormat Format { get; } #Detected store format.
public String DisplayName { get; } #Display name declared by the source when available.
public Int64 SourceLength { get; } #Validated source length.
public IReadOnlyList<EmailStoreFolderInfo> Folders { get; } #Lightweight folder catalog. PST/OST item payloads are not read to build it.
public EmailStoreFolderCatalog FolderCatalog { get; } #Indexed folder navigation for this session.
public IReadOnlyList<EmailStoreDiagnostic> Diagnostics { get; } #Structured diagnostics emitted while opening or reading the session.