¿Qué significa el código HRESULT 0xC00E0058 (MQ_ERROR_TRANSACTION_ENLIST)?

 
Anterior Siguiente
MQ_ERROR_STALE_HANDLE MQ_ERROR_QUEUE_DELETED

MQ_ERROR_TRANSACTION_ENLIST

MQ_ERROR_TRANSACTION_ENLIST: qué indica en MSMQ

La lectura útil de este HRESULT es específica: MQ_ERROR_TRANSACTION_ENLIST significa que MSMQ no pudo enlistar el recurso en la transacción seleccionada. El área a inspeccionar es transacción, no todo el servicio MSMQ.

Diagnóstico práctico

Registra transaction id, tipo, estado final y orden de enlist/prepare/commit/abort antes de repetir trabajo. Distingue un estado transitorio de una petición inválida: solo el primero justifica reintentos con espera.

  • Conserva el input original de la llamada.
  • Registra el resultado más interno disponible además de MQ_ERROR_TRANSACTION_ENLIST.
  • Verifica si el recurso cambió entre la preparación y la ejecución.

Qué hacer después

No uses un restart del servicio como sustituto del diagnóstico. Ajusta el input, estado, permisos o dependencia indicada y valida después con la misma llamada.

No confundas esta condición con una indisponibilidad general: aquí la señal específica es que MSMQ no pudo enlistar el recurso en la transacción seleccionada.

Referencias


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