Site icon EfmSoft

Что означает код HRESULT 0x400E0006 (MQ_INFORMATION_OPERATION_PENDING)?

 
Предыдущий Следующий
MQ_INFORMATION_DUPLICATE_PROPERTY MQ_INFORMATION_FORMATNAME_BUFFER_TOO_SMALL

MQ_INFORMATION_OPERATION_PENDING

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

MQ_INFORMATION_OPERATION_PENDING (0x400E0006) — Асинхронная операция ещё выполняется.

В подсистеме «COM/WinRT» результат 0x400E0006 относится к области «контракт вызываемого interface, аргументы и state объекта». Описание «асинхронная операция ещё выполняется» сужает проверку до темы «mq, information, операция, pending».

Что проверить и как подтвердить исправление

Сначала разделите ожидание очереди, работу компонента и зависимый ввод-вывод. Для 0x400E0006 в условии «асинхронная операция ещё выполняется» разделите ожидание очереди, работу компонента и зависимый ввод-вывод; повторяйте только после наблюдаемого изменения нагрузки или состояния.

Диагностика 0x400E0006 должна включать IID и method, thread/apartment, argument values, object state и исходный HRESULT; отдельно запишите HRESULT, ID. Для темы «mq, information, операция, pending» при 0x400E0006 важны значения именно на первом отказе, а не после обработки ошибки верхним уровнем.

Коррекция для 0x400E0006 должна быть предметной: исправьте параметры и жизненный цикл объекта в соответствии с контрактом первого неуспешного метода. Для 0x400E0006 и сообщения «асинхронная операция ещё выполняется» общий сброс допустим лишь как контроль, но не как доказательство причины.

После исправления повторите тот же вызов на прежних данных; у результата 0x400E0006 должен измениться первый неуспешный этап, а не только последующее сообщение.

Документация для результата 0x400E0006: MSMQ message properties · Message Queuing overview · Message Queuing error and information codes.


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

Exit mobile version