| Previous | Next |
| ERROR_TRANSACTION_NOT_FOUND | ERROR_ENLISTMENT_NOT_FOUND |
ERROR_RESOURCEMANAGER_NOT_FOUND
KTM cannot find the resource manager identified by the caller
ERROR_RESOURCEMANAGER_NOT_FOUND belongs to the Windows Kernel Transaction Manager transaction-processing model. A resource manager is a distinct KTM object associated with a transaction manager. It receives transaction notifications and creates enlistments for transactions that touch the resource it protects. OpenResourceManager addresses an existing RM; failure to find that object is therefore about RM identity and registration, not about a particular transaction outcome.
Capture the RM GUID and the transaction manager used for the lookup. A service restart may recreate its RM incorrectly, a configuration copy can point at another TM, or cleanup can remove the object while a worker retains its identifier. For a durable RM, compare the identity stored with the RM log and the identity passed during startup. Do not create a new RM automatically on every lookup failure until recovery semantics are understood, because a fresh identity can orphan in-doubt enlistments recorded for the old RM.
What to inspect
- Log both the RM identifier and transaction-manager identifier.
- Check RM creation and recovery logs before treating the object as disposable.
- Do not replace a missing durable RM with a new identity until outstanding recovery state is accounted for.
References
- Microsoft: creating and recovering a KTM resource manager
- Microsoft: KTM transaction, TM, RM, and enlistment functions
- Microsoft: KTM recovery processing and presumed abort
- Microsoft: KTM resource-manager log streams and recovery
Looking for a different code? Search another status or error code.