Что означает код HRESULT 0xC00E005A (MQ_ERROR_QUEUE_DELETED)?

 
Предыдущий Следующий
MQ_ERROR_TRANSACTION_ENLIST MQ_ERROR_ILLEGAL_CONTEXT

MQ_ERROR_QUEUE_DELETED

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

MQ_ERROR_QUEUE_DELETED (0xC00E005A) — Очередь удалена.

Контекст результата 0xC00E005A — подсистема «COM/WinRT» и область «контракт вызываемого interface, аргументы и state объекта». Условие «очередь удалена» указывает на тему «mq, очередь, удалённый объект», а не на общий отказ всего компонента.

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

Сначала сопоставьте первый отказ с фактическими параметрами операции. Для 0xC00E005A в условии «очередь удалена» восстановите порядок переходов объекта и найдите пропущенный шаг; численно корректный handle может принадлежать предыдущему поколению.

Перед повтором 0xC00E005A зафиксируйте IID и method, thread/apartment, argument values, object state и исходный HRESULT; отдельно запишите IDs, ID, HRESULT. Различия по теме «mq, очередь, удалённый объект» для 0xC00E005A покажут, изменился ли первый неуспешный этап.

Практическое исправление для 0xC00E005A: исправьте параметры и жизненный цикл объекта в соответствии с контрактом первого неуспешного метода. В контексте условия «очередь удалена» для 0xC00E005A оно должно устранить подтверждённую причину, а не скрыть исходный HRESULT.

После исправления повторите тот же вызов на прежних данных; у результата 0xC00E005A должен измениться первый неуспешный этап, а не только последующее сообщение.

Документация для результата 0xC00E005A: MQReceiveMessage · MQReceiveMessageByLookupId · Microsoft Open Specifications: Queue Manager Remote Read Protocol.


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