| Previous | Next |
| STATUS_INVALID_TRANSACTION | STATUS_TM_INITIALIZATION_FAILED |
STATUS_TRANSACTION_NOT_ACTIVE
STATUS_TRANSACTION_NOT_ACTIVE is returned when code continues to use a transaction after KTM no longer considers it active. Typical boundaries are a completed commit, rollback, timeout, recovery decision, or a client path that retained the handle after its transaction scope ended.
This differs from STATUS_TRANSACTION_NOT_FOUND: not-active says the operation was associated with a transaction whose state is no longer usable, while not-found is an object lookup failure. It also differs from STATUS_TRANSACTION_ALREADY_ABORTED and STATUS_TRANSACTION_ALREADY_COMMITTED, which expose a known terminal outcome.
The transaction has reached a terminal or unusable state
- Record the transaction identifier and the last KTM notification or completion call seen for it.
- Close or retire transaction-scoped state after a final outcome instead of reusing it for a new unit of work.
- Start a new transaction for a retried business operation only after deciding whether the previous outcome was committed or rolled back.
References
- Microsoft: Kernel Transaction Manager overview
- Microsoft: understanding KTM transaction-processing components
- Microsoft Open Specifications: NTSTATUS values
Looking for a different code? Search another status or error code.