| Предыдущий | Следующий |
| MQ_ERROR_PROPERTIES_CONFLICT | MQ_ERROR_CANT_RESOLVE_SITES |
MQ_ERROR_MESSAGE_NOT_FOUND
Что означает MQ_ERROR_MESSAGE_NOT_FOUND
MQ_ERROR_MESSAGE_NOT_FOUND (0xC00E0088) — Сообщение не существует либо уже удалено из очереди.
В подсистеме «COM/WinRT» результат 0xC00E0088 относится к области «контракт вызываемого interface, аргументы и state объекта». Описание «сообщение не существует либо уже удалено из очереди» сужает проверку до темы «mq, сообщение, не, поиск объекта».
Что проверить и как подтвердить исправление
Не начинайте с общего сброса компонента: проверьте идентификатор, область поиска и жизненный цикл отсутствующего объекта. При 0xC00E0088 и условии «сообщение не существует либо уже удалено из очереди» проверьте идентификатор, область поиска и поколение объекта; имя может быть верным, но относиться к другому контейнеру или уже удалённому состоянию.
Сопоставьте с результатом 0xC00E0088 следующие данные: IID и method, thread/apartment, argument values, object state и исходный HRESULT; отдельно запишите IDs, ID, HRESULT. До исправления 0xC00E0088 сохраните исходное состояние объекта по теме «mq, сообщение, не, поиск объекта».
Практическое исправление для 0xC00E0088: исправьте параметры и жизненный цикл объекта в соответствии с контрактом первого неуспешного метода. В контексте условия «сообщение не существует либо уже удалено из очереди» для 0xC00E0088 оно должно устранить подтверждённую причину, а не скрыть исходный HRESULT.
Повторите операцию в том же окружении и сравните первый отличающийся вызов; для результата 0xC00E0088 это надёжнее единичного успеха на других данных.
Документация для результата 0xC00E0088: MQReceiveMessage · MQReceiveMessageByLookupId · Microsoft Open Specifications: Queue Manager Remote Read Protocol.
Нужно найти другой код? Найти другой код состояния или ошибки.
