API Reference
EmailStorePstMutationTransaction
Stages folder and item changes against an existing Unicode PST and commits them as a verified atomic rewrite. Disposing an uncommitted transaction leaves the source byte-for-byte unchanged.
Inheritance
- Object
- EmailStorePstMutationTransaction
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
Methods
public String AddItem(String folderId, EmailDocument document, Boolean isAssociated = false, CancellationToken cancellationToken = null) #StringAdds an item and returns its transaction-local identifier.
Parameters
- folderId System.String
- document OfficeIMO.Email.EmailDocument
- isAssociated System.Boolean = false
- cancellationToken System.Threading.CancellationToken = null
public EmailStorePstMutationReport Commit(CancellationToken cancellationToken = null) #EmailStorePstMutationReportWrites and verifies a staged Unicode PST, optionally commits a byte-for-byte backup, and atomically replaces the original. Any failure before the final commit leaves the original unchanged.
Parameters
- cancellationToken System.Threading.CancellationToken = null
public async Task<EmailStorePstMutationReport> CommitAsync(CancellationToken cancellationToken = null) #Task<EmailStorePstMutationReport>Writes and verifies a staged Unicode PST, asynchronously flushes the staged artifact and optional byte-for-byte backup, then atomically replaces the original. Ordered PST serialization and semantic comparison remain synchronous stateful phases and are not hidden in a worker-thread wrapper.
Parameters
- cancellationToken System.Threading.CancellationToken = null
public EmailStorePstFolderCopyResult CopyFolder(String folderId, String destinationParentFolderId, Boolean includeDescendants = true, EmailStorePstCopyConflictPolicy conflictPolicy = Fail, CancellationToken cancellationToken = null) #EmailStorePstFolderCopyResultCopies a source folder, optionally including its complete subtree and items.
Parameters
- folderId System.String
- destinationParentFolderId System.String
- includeDescendants System.Boolean = true
- conflictPolicy OfficeIMO.Email.Store.EmailStorePstCopyConflictPolicy = Fail
- cancellationToken System.Threading.CancellationToken = null
public String CopyItem(String itemId, String destinationFolderId, Nullable<Boolean> isAssociated = null, CancellationToken cancellationToken = null) #StringCopies an existing source item into another folder and returns a transaction-local identifier.
Parameters
- itemId System.String
- destinationFolderId System.String
- isAssociated System.Nullable{System.Boolean} = null
- cancellationToken System.Threading.CancellationToken = null
public String CreateFolder(String name, String parentFolderId = null, String containerClass = null) #StringCreates a folder and returns its transaction-local identifier.
Parameters
- name System.String
- parentFolderId System.String = null
- containerClass System.String = null
public Void DeleteFolder(String folderId, Boolean recursive = false, CancellationToken cancellationToken = null) #VoidDeletes a non-mandatory folder. A non-empty folder requires recursive. Recursive deletion includes active descendants and their items.
Parameters
- folderId System.String
- recursive System.Boolean = false
- cancellationToken System.Threading.CancellationToken = null
public Void DeleteItem(String itemId, CancellationToken cancellationToken = null) #VoidDeletes an existing or newly staged item.
Parameters
- itemId System.String
- cancellationToken System.Threading.CancellationToken = null
public virtual Void Dispose() #Voidpublic EmailStorePstMutationPlan DryRun(CancellationToken cancellationToken = null) #EmailStorePstMutationPlanReturns a value-free dry run of every effective staged operation without writing an artifact.
Parameters
- cancellationToken System.Threading.CancellationToken = null
public IEnumerable<EmailStoreItemReference> EnumerateItems() #IEnumerable<EmailStoreItemReference>Enumerates active source item references after staged deletes.
public Void MoveFolder(String folderId, String newParentFolderId) #VoidMoves a non-mandatory folder below another active folder.
Parameters
- folderId System.String
- newParentFolderId System.String
public Void MoveItem(String itemId, String destinationFolderId, CancellationToken cancellationToken = null) #VoidMoves an existing or newly staged item to another active folder.
Parameters
- itemId System.String
- destinationFolderId System.String
- cancellationToken System.Threading.CancellationToken = null
public static EmailStorePstMutationTransaction Open(String path, EmailStorePstMutationOptions options = null, CancellationToken cancellationToken = null) #EmailStorePstMutationTransactionOpens and locks an existing Unicode PST for one mutation transaction.
Parameters
- path System.String
- options OfficeIMO.Email.Store.EmailStorePstMutationOptions = null
- cancellationToken System.Threading.CancellationToken = null
public Void PatchItem(String itemId, EmailStoreItemPatch patch, CancellationToken cancellationToken = null) #VoidApplies one reusable typed patch to an item.
Parameters
- itemId System.String
- patch OfficeIMO.Email.Store.EmailStoreItemPatch
- cancellationToken System.Threading.CancellationToken = null
public Void PatchItemAttachments(String itemId, EmailAttachmentPatch patch, CancellationToken cancellationToken = null) #VoidApplies ordered, bounds-checked attachment changes to an item.
Parameters
- itemId System.String
- patch OfficeIMO.Email.EmailAttachmentPatch
- cancellationToken System.Threading.CancellationToken = null
public Void PatchItemProperties(String itemId, MapiPropertyPatch patch, CancellationToken cancellationToken = null) #VoidApplies exact typed MAPI property changes after normal semantic projection when the item is rewritten.
Parameters
- itemId System.String
- patch OfficeIMO.Email.MapiPropertyPatch
- cancellationToken System.Threading.CancellationToken = null
public EmailStorePstMutationSelectionReport PatchItems(EmailStoreTableQuery query, EmailStoreItemPatch patch, CancellationToken cancellationToken = null) #EmailStorePstMutationSelectionReportApplies one reusable typed patch to every row selected by a bounded table query. Selection completes before any item is changed, and a scan-limit result is rejected rather than partially mutating the transaction.
Parameters
- query OfficeIMO.Email.Store.EmailStoreTableQuery
- patch OfficeIMO.Email.Store.EmailStoreItemPatch
- cancellationToken System.Threading.CancellationToken = null
public EmailStoreItem ReadItem(String itemId, CancellationToken cancellationToken = null) #EmailStoreItemReads one source item by its stable source identifier.
Parameters
- itemId System.String
- cancellationToken System.Threading.CancellationToken = null
public Void RenameFolder(String folderId, String name) #VoidChanges a non-mandatory folder's display name.
Parameters
- folderId System.String
- name System.String
public Void ReplaceItem(String itemId, EmailDocument document, CancellationToken cancellationToken = null) #VoidReplaces the semantic document for an existing or newly staged item.
Parameters
- itemId System.String
- document OfficeIMO.Email.EmailDocument
- cancellationToken System.Threading.CancellationToken = null
public Void SetItemAssociated(String itemId, Boolean isAssociated, CancellationToken cancellationToken = null) #VoidMoves an item between normal contents and folder-associated contents.
Parameters
- itemId System.String
- isAssociated System.Boolean
- cancellationToken System.Threading.CancellationToken = null
Inherited Methods
public override Boolean Equals(Object obj) #BooleanParameters
- obj Object
Properties
public String SourcePath { get; } #Full path of the PST that will be replaced only after a successful commit.
public String RootFolderId { get; } #Source folder identifier used when a new folder omits its parent.
public IReadOnlyList<EmailStorePstMutationFolder> Folders { get; } #Current staged folder view. Transaction-local identifiers remain stable until commit.