What does HRESULT 0x8004D00E (XACT_E_NOTRANSACTION) mean?

 
Previous Next
XACT_E_NOTCURRENT XACT_E_NOTSUPPORTED

XACT_E_NOTRANSACTION

A completed transaction object cannot be reopened

XACT_E_NOTRANSACTION means the transaction has reached a terminal outcome, either explicitly or because a timeout, participant failure, or framework action completed it. A surviving interface pointer does not imply that the transaction remains active, and it cannot be reused for a second operation.

Record the earliest commit, abort, or timeout notification and locate code that retained the transaction context beyond that point. Asynchronous callbacks are a common source: work queued while the transaction was active may execute after completion. Start a new transaction for new work and ensure queued tasks carry a cancellation or generation check so they do not enlist against an expired unit of work.

Timeline fields that expose late transaction use

  • Transaction creation and terminal-outcome timestamps.
  • Configured timeout and actual duration.
  • Queued callback or continuation that used the old context.
  • First participant or application request that completed the transaction.

References


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