| Anterior | Siguiente |
| XACT_E_NOASYNC | XACT_E_NOISORETAIN |
XACT_E_NOENLIST
Qué significa XACT_E_NOENLIST
XACT_E_NOENLIST corresponde al HRESULT 0x8004D00A. Windows lo describe así: «No se puede inscribir el recurso en la transacción.».
La constante describe una condición concreta de inscripción de resource managers y correspondencia entre UOW, enlistment y recurso; aquí el recurso no puede incorporarse a esta transacción con el estado y contrato actuales.
Qué comprobar
- Captura UOW, RMID, identificador de enlistment, resource manager, flags de single-phase y la llamada exacta de enlist/re-enlist en el intento que devuelve
0x8004D00A. - Verifica la precondición inmediatamente anterior a la llamada: enlistment, prepare, commit, abort, re-enlist o recovery requieren estados distintos.
- Comprueba de forma explícita esta condición: el recurso no puede incorporarse a esta transacción con el estado y contrato actuales.
Tratamiento y recuperación
Corrige la relación entre la transacción y el resource manager que participa en ella. Reutiliza solo el enlistment y el UOW que pertenecen a esa generación; al reintentar, crea una inscripción nueva si la anterior ya quedó resuelta o invalidada.
Diferencias con resultados cercanos
Después del cambio, confirma que coordinator y resource managers coinciden en la misma decisión y que no quedan ramas prepared/in-doubt pendientes de recovery.
Referencias técnicas
¿Buscas un código diferente? Buscar otro código de estado o error.
