| 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
- Microsoft: COM transaction and context error codes
- Microsoft: managing automatic COM+ transactions
- Microsoft: configuring COM+ transactions
- Microsoft: COM+ troubleshooting
- Microsoft: HRESULT values in MS-ERREF
Looking for a different code? Search another status or error code.