¿Qué significa el código HRESULT 0x0004D002 (XACT_S_READONLY)?

 
Anterior Siguiente
XACT_S_DEFECT XACT_S_SOMENORETAIN

XACT_S_READONLY

Qué significa XACT_S_READONLY

XACT_S_READONLY corresponde al HRESULT 0x0004D002. Windows lo describe así: «La llamada al método se completó correctamente porque la transacción era de solo lectura.».

Para diagnosticarla conviene pensar en opciones de la transacción: aislamiento, retención, asincronía y límites soportados, no solo en el método que terminó devolviendo el código. En este caso, la rama no modificó recursos y puede completar como read-only sin participar en fases de commit innecesarias.

Qué comprobar

  • Captura nivel de aislamiento, isoFlags, retaining flags, timeout, modo síncrono/asíncrono y capacidades anunciadas por el transaction manager en el intento que devuelve 0x0004D002.
  • Ordena la traza por UOW y tiempo y separa el primer cambio de estado de los errores secundarios generados al cerrar o recuperar la transacción.
  • Comprueba de forma explícita esta condición: la rama no modificó recursos y puede completar como read-only sin participar en fases de commit innecesarias.

Tratamiento y recuperación

Ajusta la llamada a las capacidades reales del transaction manager y del recurso. No ocultes un flag no soportado sustituyéndolo silenciosamente: registra la semántica elegida y valida que aislamiento, timeout y retaining cumplen el contrato de la aplicación.

Diferencias con resultados cercanos

Repite el escenario con correlación completa y confirma que la transición que originaba el código ya no aparece; no basta con que el caller deje de mostrar el HRESULT.

Referencias técnicas


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