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. |