| Предыдущий | Следующий |
| MQ_ERROR_PROV_NAME_BUFFER_TOO_SMALL | MQ_ERROR_WRITE_NOT_ALLOWED |
MQ_ERROR_ILLEGAL_OPERATION
Что означает MQ_ERROR_ILLEGAL_OPERATION
MQ_ERROR_ILLEGAL_OPERATION (0xC00E0064) — Операция недопустима для сторонней системы очередей сообщений.
Код 0xC00E0064 относится не ко всему компоненту «COM/WinRT», а к операции в области «контракт вызываемого interface, аргументы и state объекта». Сообщение «операция недопустима для сторонней системы очередей сообщений» позволяет начать с темы «mq, illegal, операция».
Что проверить и как подтвердить исправление
Сначала сопоставьте первый отказ с фактическими параметрами операции. Для 0xC00E0064 в условии «операция недопустима для сторонней системы очередей сообщений» воспроизведите отказ на минимальном объекте и меняйте только одно условие за запуск, чтобы отделить неверный вход от состояния системы.
Для воспроизведения 0xC00E0064 сохраните IID и method, thread/apartment, argument values, object state и исходный HRESULT; отдельно запишите ID, HRESULT. По теме «mq, illegal, операция» для 0xC00E0064 сравните эти данные с исправным запуском до очистки журналов или пересоздания объекта.
Коррекция для 0xC00E0064 должна быть предметной: исправьте параметры и жизненный цикл объекта в соответствии с контрактом первого неуспешного метода. Для 0xC00E0064 и сообщения «операция недопустима для сторонней системы очередей сообщений» общий сброс допустим лишь как контроль, но не как доказательство причины.
Считайте исправление подтверждённым только после устойчивого повтора исходного сценария без результата 0xC00E0064 и без обхода штатных проверок.
Документация для результата 0xC00E0064: MSMQMessage object and message properties · MQSendMessage · Microsoft Open Specifications: MSMQ protocols overview.
Нужно найти другой код? Найти другой код состояния или ошибки.