| Предыдущий | Следующий |
| MQ_ERROR_MESSAGE_ALREADY_RECEIVED | MQ_ERROR_FORMATNAME_BUFFER_TOO_SMALL |
MQ_ERROR_ILLEGAL_FORMATNAME
Что означает MQ_ERROR_ILLEGAL_FORMATNAME
MQ_ERROR_ILLEGAL_FORMATNAME — HRESULT, относящийся к области Microsoft Message Queuing. Форматное имя очереди Message Queuing недопустимо для запрошенной операции.
Для MQ_ERROR_ILLEGAL_FORMATNAME этот HRESULT возвращён MSMQ. Для MQ_ERROR_ILLEGAL_FORMATNAME для точного вывода нужны имя очереди, операция, режим доступа и то, используется ли public/private/direct format name.
Практический вывод для MQ_ERROR_ILLEGAL_FORMATNAME: этот HRESULT фиксирует описанное условие, но сам по себе не показывает, какой участник операции первым нарушил контракт. Для MQ_ERROR_ILLEGAL_FORMATNAME найдите первый вызов, вернувший статус, и только после этого меняйте конфигурацию подсистемы Microsoft Message Queuing.
Как читать имя MQ_ERROR_ILLEGAL_FORMATNAME
Имя MQ_ERROR_ILLEGAL_FORMATNAME помогает сузить поиск: ERROR — ошибка; ILLEGAL — недопустимая операция; FORMATNAME — технический маркер «formatname». Эти части имени не заменяют документацию API, но позволяют проверить, что журнал и код относятся к одному и тому же условию.
Практическая диагностика
Для MQ_ERROR_ILLEGAL_FORMATNAME важно сохранить исходный контекст вызова: имя функции, параметры, состояние объекта и первый низкоуровневый статус. Для MQ_ERROR_ILLEGAL_FORMATNAME без этого одинаковый HRESULT может ошибочно связываться с разными причинами.
- При разборе MQ_ERROR_ILLEGAL_FORMATNAME проверьте ACL очереди и системные привилегии под фактической учётной записью процесса.
- При разборе MQ_ERROR_ILLEGAL_FORMATNAME запишите path name и format name очереди, тип операции, права доступа и свойства, которые читались или записывались.
- При разборе MQ_ERROR_ILLEGAL_FORMATNAME проверьте состояние службы MSMQ, достижимость удалённой машины и подключение к службе каталогов при необходимости.
- При разборе MQ_ERROR_ILLEGAL_FORMATNAME сверьте размеры буферов свойств и повторите запрос по документированной схеме определения требуемой длины.
Как воспроизвести проблему
- Для MQ_ERROR_ILLEGAL_FORMATNAME проверьте воспроизведение на локальной private queue, чтобы отделить сеть и каталог от API-контракта.
- Для MQ_ERROR_ILLEGAL_FORMATNAME не создавайте дубликат очереди до проверки существующего path name и instance identifier.
- Для MQ_ERROR_ILLEGAL_FORMATNAME сохраните HRESULT, PROPID, фактическую/требуемую длину и тип форматного имени.
Проверка после изменения
Для MQ_ERROR_ILLEGAL_FORMATNAME исправление MQ_ERROR_ILLEGAL_FORMATNAME подтверждено, когда исходный сценарий завершается ожидаемо, журналы больше не содержат этого статуса, а отдельный отрицательный тест по-прежнему корректно обнаруживает описанное условие.
Ссылки по MQ_ERROR_ILLEGAL_FORMATNAME
Нужно найти другой код? Найти другой код состояния или ошибки.