¿Qué significa el código HRESULT 0xC00E001D (MQ_ERROR_MESSAGE_ALREADY_RECEIVED)?

 
Anterior Siguiente
MQ_ERROR_ILLEGAL_CURSOR_ACTION MQ_ERROR_ILLEGAL_FORMATNAME

MQ_ERROR_MESSAGE_ALREADY_RECEIVED

Qué significa MQ_ERROR_MESSAGE_ALREADY_RECEIVED en Message Queuing

MQ_ERROR_MESSAGE_ALREADY_RECEIVED aparece cuando el mensaje apuntado por el cursor ya fue retirado de la cola por otra recepción. El punto importante para el diagnóstico es el siguiente: el foco técnico es mensaje.

Evidencia que conviene conservar

  • Conserva lookup id, label, transaction id y posición de cursor para detectar consumo concurrente o desaparición.
  • Si existe status por propiedad o un error Win32/CryptoAPI/LDAP interno, úsalo como evidencia principal y no te quedes solo con el HRESULT exterior.
  • Anota la API que devolvió MQ_ERROR_MESSAGE_ALREADY_RECEIVED y el estado del objeto justo antes de esa llamada.

Recuperación

Evita retries ilimitados: corrige primero la precondición que expresa el HRESULT y conserva evidencia de que la siguiente ejecución parte de un estado conocido.

La comprobación decisiva es demostrar que el mensaje apuntado por el cursor ya fue retirado de la cola por otra recepción. Si esa condición no aparece en la evidencia, busca un HRESULT vecino o el error interno que explique mejor el caso.

Referencias


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