| Предыдущий | Следующий |
| MQ_ERROR_SHARING_VIOLATION | MQ_ERROR_MACHINE_NOT_FOUND |
MQ_ERROR_SERVICE_NOT_AVAILABLE
Что означает MQ_ERROR_SERVICE_NOT_AVAILABLE
MQ_ERROR_SERVICE_NOT_AVAILABLE — HRESULT, относящийся к области Microsoft Message Queuing. Приложение не может подключиться к локальной службе Message Queuing или диспетчеру очередей.
Для MQ_ERROR_SERVICE_NOT_AVAILABLE статус возник в Message Queuing. Для MQ_ERROR_SERVICE_NOT_AVAILABLE он может быть локальным API-отказом либо результатом обращения к службе каталогов или удалённой машине.
Практический вывод для MQ_ERROR_SERVICE_NOT_AVAILABLE: этот HRESULT фиксирует описанное условие, но сам по себе не показывает, какой участник операции первым нарушил контракт. Для MQ_ERROR_SERVICE_NOT_AVAILABLE найдите первый вызов, вернувший статус, и только после этого меняйте конфигурацию подсистемы Microsoft Message Queuing.
Как читать имя MQ_ERROR_SERVICE_NOT_AVAILABLE
Имя MQ_ERROR_SERVICE_NOT_AVAILABLE помогает сузить поиск: ERROR — ошибка; SERVICE — служба; NOT — отрицание условия; AVAILABLE — доступность. Эти части имени не заменяют документацию API, но позволяют проверить, что журнал и код относятся к одному и тому же условию.
Проверка причины
Для MQ_ERROR_SERVICE_NOT_AVAILABLE важно сохранить исходный контекст вызова: имя функции, параметры, состояние объекта и первый низкоуровневый статус. Для MQ_ERROR_SERVICE_NOT_AVAILABLE без этого одинаковый HRESULT может ошибочно связываться с разными причинами.
- При разборе MQ_ERROR_SERVICE_NOT_AVAILABLE проверьте состояние службы MSMQ, достижимость удалённой машины и подключение к службе каталогов при необходимости.
- При разборе MQ_ERROR_SERVICE_NOT_AVAILABLE сверьте размеры буферов свойств и повторите запрос по документированной схеме определения требуемой длины.
- При разборе MQ_ERROR_SERVICE_NOT_AVAILABLE проверьте ACL очереди и системные привилегии под фактической учётной записью процесса.
- При разборе MQ_ERROR_SERVICE_NOT_AVAILABLE запишите path name и format name очереди, тип операции, права доступа и свойства, которые читались или записывались.
Какие данные собрать
- Для MQ_ERROR_SERVICE_NOT_AVAILABLE сохраните HRESULT, PROPID, фактическую/требуемую длину и тип форматного имени.
- Для MQ_ERROR_SERVICE_NOT_AVAILABLE проверьте воспроизведение на локальной private queue, чтобы отделить сеть и каталог от API-контракта.
- Для MQ_ERROR_SERVICE_NOT_AVAILABLE не создавайте дубликат очереди до проверки существующего path name и instance identifier.
Проверка после изменения
Для MQ_ERROR_SERVICE_NOT_AVAILABLE для MQ_ERROR_SERVICE_NOT_AVAILABLE недостаточно скрыть ошибку повтором. Для MQ_ERROR_SERVICE_NOT_AVAILABLE после изменения воспроизведите исходную операцию, проверьте конечное состояние объекта и убедитесь, что ресурсы освобождаются без потери первичного HRESULT.
Ссылки по MQ_ERROR_SERVICE_NOT_AVAILABLE
Нужно найти другой код? Найти другой код состояния или ошибки.