| Anterior | Siguiente |
| CO_E_ISOLEVELMISMATCH | CO_E_EXIT_TRANSACTION_SCOPE_NOT_CALLED |
CO_E_CALL_OUT_OF_TX_SCOPE_NOT_ALLOWED
Qué significa CO_E_CALL_OUT_OF_TX_SCOPE_NOT_ALLOWED
CO_E_CALL_OUT_OF_TX_SCOPE_NOT_ALLOWED corresponde al HRESULT 0x8004E030. Windows indica: «El componente intentó realizar una llamada entre contextos entre las invocaciones de EnterTransactionScope y ExitTransactionScope. Esto no está permitido: no se pueden realizar llamadas entre contextos dentro de un ámbito de transacción.».
El diagnóstico debe centrarse en límites de llamada y contexto transaccional de COM. La observación principal es: la secuencia cruza un límite transaccional de forma no permitida; registra qué llamada abrió y cuál intenta abandonar el scope.
Qué comprobar
- Reúne contexto de llamada, transacción actual, flags, caller context y transición anterior que abrió, canceló o cerró el scope en una prueba mínima y reproducible antes de aplicar una reparación.
- Verifica que «El componente intentó realizar una llamada entre contextos entre las invocaciones de EnterTransactionScope y ExitTransactionScope. Esto no está permitido: no se pueden realizar llamadas entre contextos dentro de un ámbito de transacción.» siga siendo cierto con el mismo objeto y parámetros antes de modificar varias condiciones simultáneamente.
Tratamiento recomendado
Respeta el scope de la llamada/transacción y el orden de entrada/salida. Corrige la transición que falta o sobra; un retry fuera del mismo contexto no demuestra que el flujo original sea válido.
Resultados cercanos que significan otra cosa
CO_E_MISSING_DISPLAYNAMEdescribe «La activación requiere que exista un nombre para mostrar bajo la clave CLSID.».CO_E_ELEVATION_DISABLEDdescribe «La clase no está configurada para admitir la activación con privilegios elevados.».
La reparación se valida repitiendo la misma llamada y confirmando que deja de cumplirse «El componente intentó realizar una llamada entre contextos entre las invocaciones de EnterTransactionScope y ExitTransactionScope. Esto no está permitido: no se pueden realizar llamadas entre contextos dentro de un ámbito de transacción.» sin introducir una conversión, registro o fallback distinto.
Referencias técnicas
¿Buscas un código diferente? Buscar otro código de estado o error.
