2.2.2.3.1 TRACKING_STATUS
The TRACKING_STATUS enumeration specifies the status of a transaction (managed by the transaction manager) and is reported by the Management Server role in the dwStatus field of a DtcUITranListElement structure.
-
typedef enum { XACTSTAT_OPEN = 0x00000003, XACTSTAT_PREPARING = 0x00000004, XACTSTAT_PREPARED = 0x00000008, XACTSTAT_COMMITTING = 0x00000040, XACTSTAT_ABORTING = 0x00000100, XACTSTAT_ABORTED = 0x00000200, XACTSTAT_FORCED_ABORT = 0x00000201, XACTSTAT_COMMITTED = 0x00000400, XACTSTAT_FORCED_COMMIT = 0x00000401, XACTSTAT_NOTIFYING_COMMITTED = 0x00000801, XACTSTAT_ONLY_FAILED_COMMITTED_REMAIN = 0x00000C01, XACTSTAT_INDOUBT = 0x00020000, XACTSTAT_FORGET = 0x00080001 } TRACKING_STATUS;
XACTSTAT_OPEN: This status indicates the transaction is still in the active phase.
XACTSTAT_PREPARING: This status indicates the transaction is preparing.
XACTSTAT_PREPARED: This status indicates the transaction is prepared.
XACTSTAT_COMMITTING: This status indicates the transaction is committing.
XACTSTAT_ABORTING: This status indicates the transaction is aborting.
XACTSTAT_ABORTED: This status indicates the transaction is aborted.
XACTSTAT_FORCED_ABORT: This status indicates the transaction was forced to abort (by external intervention).
XACTSTAT_COMMITTED: This status indicates the transaction is committed.
XACTSTAT_FORCED_COMMIT: This status indicates the transaction was forced to commit.
XACTSTAT_NOTIFYING_COMMITTED: This status indicates the transaction is committed and subordinate participants are being notified.
XACTSTAT_ONLY_FAILED_COMMITTED_REMAIN: This status indicates the transaction is in the Failed to Notify state.
XACTSTAT_INDOUBT: This status indicates the transaction is in doubt.
XACTSTAT_FORGET: This status indicates the transaction has completed and the transaction manager does not manage it any more.
The dwStatus field reported by the Management Server role is based on the transaction states provided by [MS-DTCO], section 3.2.1.3 as specified in the following table.
[MS-DTCO] Transaction States |
Description |
TRACKING_STATUS |
---|---|---|
Idle |
The transaction has not been created yet. |
Not Applicable |
Active |
Not Applicable |
XACTSTAT_OPEN |
Phase Zero |
Not Applicable |
XACTSTAT_PREPARING |
Phase Zero Complete |
Not Applicable |
XACTSTAT_PREPARING |
Voting |
Not Applicable |
XACTSTAT_PREPARING |
Voting Complete |
Not Applicable |
XACTSTAT_PREPARING |
Phase One |
Not Applicable |
XACTSTAT_PREPARING |
Phase One Complete |
Not Applicable |
XACTSTAT_PREPARED |
Single Phase Commit |
Not Applicable |
XACTSTAT_PREPARED |
Committing |
The [MS-DTCO] Transaction State is Committing. |
XACTSTAT_COMMITTING |
Committing |
The [MS-DTCO] Transaction State is Committing and the "Enlistment Commit Complete" event is signaled as specified in [MS-DTCO] section 3.2.7.15. |
XACTSTAT_COMMITTED |
Committing |
The [MS-DTCO] Transaction State is Committing, the "Enlistment Commit Complete" event is signaled as specified in [MS-DTCO] section 3.2.7.15 and the transaction was forced to commit (by external intervention). |
XACTSTAT_FORCED_COMMIT |
Committing |
The [MS-DTCO] Transaction State is Committing and all the subordinate participants are being notified. |
XACTSTAT_NOTIFYING_COMMITTED |
Aborting |
Not Applicable |
XACTSTAT_ABORTING |
Aborting |
The [MS-DTCO] Transaction State is Aborting and the "Enlistment Rollback Complete" event is signaled as specified in [MS-DTCO] section 3.2.7.18. |
XACTSTAT_ABORTED |
Aborting |
The [MS-DTCO] Transaction State is Aborting, the "Enlistment Rollback Complete" event is signaled as specified in [MS-DTCO] section 3.2.7.18 and the transaction was forced to abort (by external intervention). |
XACTSTAT_FORCED_ABORT |
In Doubt |
Not Applicable |
XACTSTAT_INDOUBT |
Failed to Notify |
Not Applicable |
XACTSTAT_ONLY_FAILED_COMMITTED_REMAIN |
Ended |
Not Applicable |
XACTSTAT_FORGET |