¿Qué significa el código HRESULT 0x8004E00F (CONTEXT_E_TMNOTAVAILABLE)?

 
Anterior Siguiente
CONTEXT_E_ROLENOTFOUND CO_E_ACTIVATIONFAILED

CONTEXT_E_TMNOTAVAILABLE

Qué significa CONTEXT_E_TMNOTAVAILABLE

CONTEXT_E_TMNOTAVAILABLE corresponde al HRESULT 0x8004E00F. Windows indica: «COM+ no pudo comunicarse con el Coordinador de transacciones distribuidas de Microsoft.».

La causa debe buscarse en estado y lifecycle de transacciones dentro del contexto COM+. Para esta constante, El transaction manager requerido no está disponible; valida MSDTC/servicio y conectividad antes de analizar votos de componentes. Para poder reproducirlo, guarda ID de transacción, contexto del objeto, voto del componente, estado commit/abort, resource manager y estado de MSDTC/transaction manager.

Qué comprobar

  • Registra ID de transacción, contexto del objeto, voto del componente, estado commit/abort, resource manager y estado de MSDTC/transaction manager; después identifica la colección, proceso o contexto exacto que estaba activo cuando apareció el código.
  • Confirma que «COM+ no pudo comunicarse con el Coordinador de transacciones distribuidas de Microsoft.» se mantiene al repetir solo la operación mínima; después cambia una única precondición por prueba.

Tratamiento recomendado

Encuentra la primera transición que cambió el estado de la transacción: voto, abort, fallo del administrador de recursos o indisponibilidad de TM. Un commit o reintento posterior no puede reactivar una transacción que ya quedó anulada.

Cómo distinguirlo de resultados cercanos

  • CONTEXT_E_WOULD_DEADLOCK se refiere a otra frontera: «El componente está configurado para usar sincronización y esta llamada al método provocaría un interbloqueo.».
  • CONTEXT_E_SYNCH_TIMEOUT no es equivalente; su descripción es «El componente está configurado para usar sincronización y un subproceso agotó el tiempo de espera mientras esperaba entrar en el contexto.».

Referencias técnicas


¿Buscas un código diferente? Buscar otro código de estado o error.