Kernel Transaction Manager Functions

The following functions are used with transactions.

Function Description
CommitTransaction Requests that the specified transaction be committed.
CommitTransactionAsync Requests that the specified transaction be committed.
CreateTransaction Creates a new transaction object.
GetTransactionId Obtains the ID for the specified transaction.
GetTransactionInformation Returns the requested information about the specified transaction.
OpenTransaction Opens an existing transaction.
RollbackComplete Indicates that the resource manager (RM) has successfully completed rolling back a transaction.
RollbackTransaction Requests that the specified transaction be rolled back.
RollbackTransactionAsync Requests that the specified transaction be rolled back. This function returns asynchronously.
SetTransactionInformation Sets the transaction information for the specified transaction.

 

The following functions are used with enlistments.

Function Description
CommitComplete Indicates that a RM has finished committing a transaction that was requested by the transaction manager (TM).
CommitEnlistment Commits the transaction for the specified enlistment.
GetEnlistmentId Obtains the ID for the specified enlistment.
CreateEnlistment Creates an enlistment, sets its initial state, and opens a handle to the enlistment with the specified access.
GetEnlistmentRecoveryInformation Retrieves an opaque structure of recovery data from KTM. Recovery information is stored in a log on behalf of a RM by calling the SetEnlistmentRecoveryInformation function. After a failure, the RM can use the GetEnlistmentRecoveryInformation function to retrieve the information.
OpenEnlistment Opens an existing enlistment object, and returns a handle to the enlistment.
PrepareEnlistment Called by superior TM to indicate that their pre-prepares work has been completed.
PrePrepareEnlistment Called by superior TM to indicate that their pre-prepares work has been completed.
RecoverEnlistment Recovers an enlistment's state.
ReadOnlyEnlistment Requests that the specified enlistment be converted to a read-only enlistment. A read-only enlistment cannot participate in the outcome of the transaction and is not durably recorded for recovery.
RollbackEnlistment Rolls back the specified transaction that is associated with an enlistment. This function cannot be called for read-only enlistments.
SetEnlistmentRecoveryInformation Sets an opaque, user-defined structure of recovery data from KTM. Recovery information is stored in a log on behalf of a RM by calling SetEnlistmentRecoveryInformation. After a failure, the RM can use GetEnlistmentRecoveryInformation to retrieve the information.
SinglePhaseReject Indicates that the RM is refusing a single-phase request. When a TM receives this call, it initiates a two-phase commit and sends a prepare request to all enlisted RMs.

 

The following functions are used with resource managers.

Function Description
CreateResourceManager Creates a new RM object, and associates the RM with a transaction manager (TM).
GetNotificationResourceManager Requests and receives a notification for RM. This function is used by the RM register to receive notifications when a transaction changes state.
GetNotificationResourceManagerAsync Requests and receives asynchronous notification for a RM. This function is used by the RM to register to receive notifications when a transaction changes state.
OpenResourceManager Opens an existing RM.
PrepareComplete Indicates that the RM has completed all processing necessary to guarantee that a commit or abort operation will succeed for the specified transaction.
PrePrepareComplete Signals that this RM has completed its preprepare work, so that other RMs can now begin their prepare operations.
RecoverResourceManager Recovers a RM's state from its log file.
SetResourceManagerCompletionPort Associates the specified I/O completion port with the specified RM. This port receives all notifications for the RM.

 

The following functions are used with transaction managers.

Function Description
CreateTransactionManager Creates a new TM object and returns a handle with the specified access.
GetCurrentClockTransactionManager Obtains a virtual clock value from a TM.
GetTransactionManagerId Obtains an identifier for the specified TM.
OpenTransactionManager Opens an existing TM.
OpenTransactionManagerById Opens an existing TM.
RecoverTransactionManager Recovers a TM's state from its log file.
RenameTransactionManager Renames a TM.
RollforwardTransactionManager Recovers TM's state from its log file to the specified virtual clock value.