What does NTSTATUS 0xC0190002 (STATUS_INVALID_TRANSACTION) mean?

 
Previous Next
STATUS_TRANSACTIONAL_CONFLICT STATUS_TRANSACTION_NOT_ACTIVE

STATUS_INVALID_TRANSACTION

Validate the handle lifetime, access rights, and object type

KTM operations use kernel object handles, so an integer value alone is not sufficient evidence that a transaction is valid. The handle may be closed, inherited incorrectly, duplicated with insufficient access, associated with another process context, or refer to a different object type.

This status differs from a transaction that is valid but no longer active. First prove that the handle resolves to a transaction object; only then investigate commit, rollback, timeout, or recovery state.

What to inspect

  • Record where the handle was created, duplicated, transferred, and closed.
  • Query the transaction ID and information immediately after creation and again before the failing call.
  • Check required KTM access rights for the exact operation.
  • Look for use-after-close, stale cached handles, and cross-process transfer without DuplicateHandle or documented propagation.

References


Looking for a different code? Search another status or error code.