| Previous | Next |
| STATUS_EXPIRED_HANDLE | STATUS_LOG_SECTOR_INVALID |
STATUS_TRANSACTION_NOT_ENLISTED
STATUS_TRANSACTION_NOT_ENLISTED means that the resource manager is not enlisted in the transaction on which the requested operation depends. A transaction handle alone does not make a resource manager a participant; the resource manager must create its own enlistment before KTM can send it the relevant lifecycle notifications.
This is closely related to STATUS_TRANSACTION_NOT_JOINED, but the useful distinction is timing. Not-joined commonly surfaces when prepare is attempted without a completed join; not-enlisted identifies a required participant relationship that is missing at the operation being performed.
The operation requires an enlistment that does not exist
- Verify that the resource manager opened the intended transaction and completed
ZwCreateEnlistmentfor the same transaction ID. - Check for a stale or closed enlistment handle after recovery, cancellation, or resource-manager shutdown.
- Register for the necessary notifications before issuing operations that depend on an enlisted role.
References
- Microsoft: creating a KTM resource manager
- Microsoft: KTM enlistment objects
- Microsoft: KTM transaction notifications
Looking for a different code? Search another status or error code.