Что означает код HRESULT 0xC00E000D (MQ_ERROR_MACHINE_NOT_FOUND)?

 
Предыдущий Следующий
MQ_ERROR_SERVICE_NOT_AVAILABLE MQ_ERROR_ILLEGAL_SORT

MQ_ERROR_MACHINE_NOT_FOUND

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

MQ_ERROR_MACHINE_NOT_FOUND — HRESULT, относящийся к области Microsoft Message Queuing. Message Queuing не нашла указанный компьютер в службе каталогов.

Применительно к MQ_ERROR_MACHINE_NOT_FOUND этот HRESULT возвращён MSMQ. Для MQ_ERROR_MACHINE_NOT_FOUND для точного вывода нужны имя очереди, операция, режим доступа и то, используется ли public/private/direct format name.

Практический вывод для MQ_ERROR_MACHINE_NOT_FOUND: этот HRESULT фиксирует описанное условие, но сам по себе не показывает, какой участник операции первым нарушил контракт. Для MQ_ERROR_MACHINE_NOT_FOUND найдите первый вызов, вернувший статус, и только после этого меняйте конфигурацию подсистемы Microsoft Message Queuing.

Как читать имя MQ_ERROR_MACHINE_NOT_FOUND

Имя MQ_ERROR_MACHINE_NOT_FOUND помогает сузить поиск: ERROR — ошибка; MACHINE — компьютер; NOT — отрицание условия; FOUND — результат поиска. Эти части имени не заменяют документацию API, но позволяют проверить, что журнал и код относятся к одному и тому же условию.

Разбор условия ошибки

Применительно к MQ_ERROR_MACHINE_NOT_FOUND код описывает отсутствующий объект или обязательный элемент. Для MQ_ERROR_MACHINE_NOT_FOUND нужно проверить не только имя, но и область поиска, владельца, версию и возможную гонку между перечислением и использованием.

  • Для MQ_ERROR_MACHINE_NOT_FOUND запишите точный идентификатор отсутствующего объекта и перечислите реально доступные объекты непосредственно перед вызовом.
  • При разборе MQ_ERROR_MACHINE_NOT_FOUND сверьте размеры буферов свойств и повторите запрос по документированной схеме определения требуемой длины.
  • При разборе MQ_ERROR_MACHINE_NOT_FOUND проверьте ACL очереди и системные привилегии под фактической учётной записью процесса.
  • При разборе MQ_ERROR_MACHINE_NOT_FOUND запишите path name и format name очереди, тип операции, права доступа и свойства, которые читались или записывались.
  • При разборе MQ_ERROR_MACHINE_NOT_FOUND проверьте состояние службы MSMQ, достижимость удалённой машины и подключение к службе каталогов при необходимости.

Какие данные собрать

  • Для MQ_ERROR_MACHINE_NOT_FOUND проверьте воспроизведение на локальной private queue, чтобы отделить сеть и каталог от API-контракта.
  • Для MQ_ERROR_MACHINE_NOT_FOUND не создавайте дубликат очереди до проверки существующего path name и instance identifier.
  • Для MQ_ERROR_MACHINE_NOT_FOUND сохраните HRESULT, PROPID, фактическую/требуемую длину и тип форматного имени.

Проверка после изменения

Применительно к MQ_ERROR_MACHINE_NOT_FOUND проверка исправления MQ_ERROR_MACHINE_NOT_FOUND должна включать успешный рабочий путь, предсказуемый отказ на некорректном входе и отсутствие новых предупреждений в журналах подсистемы Microsoft Message Queuing.

Ссылки по MQ_ERROR_MACHINE_NOT_FOUND


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