| 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_DEADLOCKse 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_TIMEOUTno 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.