| Previous | Next |
| STATUS_TRANSACTION_SUPERIOR_EXISTS | STATUS_TRANSACTION_NOT_REQUESTED |
STATUS_TRANSACTION_REQUEST_NOT_VALID
STATUS_TRANSACTION_REQUEST_NOT_VALID means that the transaction object exists, but the requested KTM operation is not allowed at its current point in the lifecycle. This is different from an invalid handle: the state machine, not merely the object reference, rejects the request.
KTM drives resource managers through pre-prepare, prepare, commit, rollback, and recovery notifications. A completion or response routine must correspond to the phase that was actually requested. Replaying a call without restoring the correct phase ordering generally produces the same result.
The operation is out of sequence for the transaction state
- Log the operation name together with the last transaction notification and completion routine for the same enlistment.
- Check for duplicated callbacks, late work items, and a race between timeout or rollback and a pending commit response.
- Treat the transaction outcome as unresolved until the transaction manager’s notification sequence has been reconciled.
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.