What does HRESULT 0x8004E00F (CONTEXT_E_TMNOTAVAILABLE) mean?

 
Previous Next
CONTEXT_E_ROLENOTFOUND CO_E_ACTIVATIONFAILED

CONTEXT_E_TMNOTAVAILABLE

CONTEXT_E_TMNOTAVAILABLE is the failure HRESULT 0x8004E00F (signed decimal -2147164145, unsigned decimal 2147803151). Its severity bit is 1, facility is 4 (FACILITY_ITF), and the facility-specific code field is 0xE00F.

The COM+ context cannot reach the transaction manager it needs

This HRESULT reports that COM+ was unable to talk to Microsoft Distributed Transaction Coordinator. It commonly appears when a transactional component needs transaction-manager services but the local DTC service, RPC path, security policy, or coordinator state is unavailable.

AllStat describes the result as “COM+ was unable to talk to the Microsoft Distributed Transaction Coordinator.” for it, this wording identifies the immediate COM+ condition, while surrounding context and earlier events determine why it was reached.

Contract boundary

The code identifies the COM+-to-transaction-manager boundary. It does not by itself prove that a remote database is down or that a business transaction has already started.

Causes that fit this specific result

  • The Distributed Transaction Coordinator service is stopped, starting, disabled, or unhealthy.
  • RPC endpoint resolution or local security policy prevents COM+ from opening the coordinator channel.
  • MSDTC configuration changed without the required service or application restart.
  • A transaction promotion requires remote coordination that is disabled or blocked.

Evidence to preserve before changing the system

  • Record local MSDTC service state, COM+ application ID, transaction requirement, and activation timestamp.
  • Capture Component Services, MSDTC, RPC, and system event records around the first failure.
  • Log whether the transaction was local, promoted, or already had a UOW.
  • Run a minimal DTC connectivity test separately from the application workflow.

Diagnostic sequence

  • Verify that MSDTC is installed, running, and configured for the required local or network transaction mode.
  • Check RPC and DTC security settings on every participating host.
  • Restart only after preserving events and confirming that configuration changes require it.
  • Retest with a minimal transaction before replaying production work.

Retry and recovery

Restore transaction-manager availability and start a new unit of work after reconciling the failed request. Reusing a context created while the coordinator was unavailable is unsafe.

What the result does not establish

This result does not select among service state, RPC, authentication, or remote policy causes. It also does not guarantee that no participant saw the transaction.

Difference from nearby HRESULT values

XACT_E_CONNECTION_DOWN indicates a transaction-manager connection failure at the XACT layer. XACT_E_DEST_TMNOTAVAILABLE specifically names a destination coordinator during propagation.

Practical scenario

A COM+ application configured as Required activates after a hardening change disabled MSDTC network access. Local component creation reaches the transaction boundary and fails; administrators restore the intended DTC policy and validate promotion before retrying the request.

Developer and telemetry guidance

Monitor DTC service health and promotion failures as separate signals. Include transaction configuration and promotion status so operators can distinguish local activation from remote propagation.

Official Microsoft references


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