| Previous | Next |
| STATUS_TRANSACTIONMANAGER_RECOVERY_NAME_COLLISION | STATUS_TRANSACTION_OBJECT_EXPIRED |
STATUS_TRANSACTION_NOT_ROOT
STATUS_TRANSACTION_NOT_ROOT means that a caller attempted to create a superior enlistment on a subordinate branch of a transaction. KTM reserves the superior role for the root transaction, because that role coordinates the prepare and outcome sequence for the transaction tree.
This is different from STATUS_TRANSACTION_SUPERIOR_EXISTS. Not-root rejects the location in the tree even when no superior has yet been created there; superior-exists rejects a second coordinator after the permitted superior enlistment already exists.
Only the root transaction may become superior
- Trace the parent/root transaction relationship for the handle used in the enlistment call.
- Create a superior enlistment only at the intended root coordinator and use subordinate enlistments for participating resource managers.
- Record whether the caller is integrating an external transaction-processing component rather than assuming every transaction handle can coordinate outcomes.
References
- Microsoft: creating a superior transaction manager
- Microsoft: KTM transaction notifications
- Microsoft Open Specifications: NTSTATUS values
Looking for a different code? Search another status or error code.