| Previous | Next |
| ERROR_INVALID_TRANSACTION | ERROR_TRANSACTION_REQUEST_NOT_VALID |
ERROR_TRANSACTION_NOT_ACTIVE
In the Kernel Transaction Manager (KTM), this status points to a lifecycle error: the caller is using a transaction handle after the unit of work is no longer active. It is not a general database or file-system failure. A KTM transaction can be shared by several participants, and commit or rollback processing changes what later calls are valid.
How it differs from nearby KTM statuses
ERROR_TRANSACTION_ALREADY_COMMITTEDandERROR_TRANSACTION_ALREADY_ABORTEDidentify a known terminal outcome.ERROR_TRANSACTION_REQUEST_NOT_VALIDis broader: it means a request is illegal in the current phase, even when the transaction has not simply been reused after completion.- This status should not be treated as a signal to repeat the same operation on the same handle.
Useful evidence
Record the transaction identifier, the API that failed, the first commit or rollback request, and notifications received by each resource manager. Check whether application code keeps a transaction handle in a cache, callback context, or work item after the transaction has reached its outcome. Start a new transaction for a new unit of work rather than attempting to reactivate the old one.
See the KTM transaction flow and the KTM API reference.
Looking for a different code? Search another status or error code.