Site icon EfmSoft

Что означает код HRESULT 0xC00E002A (MQ_ERROR_MESSAGE_STORAGE_FAILED)?

 
Предыдущий Следующий
MQ_ERROR_USER_BUFFER_TOO_SMALL MQ_ERROR_SENDER_CERT_BUFFER_TOO_SMALL

MQ_ERROR_MESSAGE_STORAGE_FAILED

Что означает MQ_ERROR_MESSAGE_STORAGE_FAILED

MQ_ERROR_MESSAGE_STORAGE_FAILED (0xC00E002A) — Не удалось сохранить восстанавливаемое или журнальное сообщение. Сообщение не отправлено.

Получение сообщения в MSMQ изменяет состояние самой очереди: destructive receive удаляет сообщение, а транзакционный receive связывает его судьбу с commit/abort. Поэтому конкурирующие потребители, курсоры и повторные вызовы могут наблюдать уже другое состояние, даже если используют тот же lookup id или позицию.

Что проверить

  • Проверьте свободное место и состояние хранилища MSMQ на компьютере, который должен сохранить recoverable/journal message; факт вызова send ещё не означает, что сообщение принято на хранение.
  • Проверьте существование очереди и отдельно действительность текущего handle: это разные состояния.
  • Если есть несколько consumers или callbacks, сопоставьте их действия по времени, чтобы увидеть удаление сообщения, закрытие handle или смену поколения очереди.

Как подтвердить исправление

Повторяйте исходный сценарий с новым корректно открытым объектом и отдельно проверяйте конкурентный путь. Простое исчезновение ошибки после перезапуска службы не доказывает устранение гонки или ошибки времени жизни.

Технические ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.

Exit mobile version