Что означает код HRESULT 0xC00E0048 (MQ_ERROR_DELETE_CN_IN_USE)?

 
Предыдущий Следующий
MQ_ERROR_RESULT_BUFFER_TOO_SMALL MQ_ERROR_NO_RESPONSE_FROM_OBJECT_SERVER

MQ_ERROR_DELETE_CN_IN_USE

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

MQ_ERROR_DELETE_CN_IN_USE (0xC00E0048) — Устаревший код, сохранённый для обратной совместимости.

Контекст результата 0xC00E0048 — подсистема «COM/WinRT» и область «контракт вызываемого interface, аргументы и state объекта». Условие «устаревший код, сохранённый для обратной совместимости» указывает на тему «mq, удаление, cn, use», а не на общий отказ всего компонента.

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

Первый шаг — сопоставьте первый отказ с фактическими параметрами операции. Когда при 0xC00E0048 система сообщает «устаревший код, сохранённый для обратной совместимости», установите идентичность и владельца уже существующего объекта; не создавайте второй экземпляр, пока не проверен жизненный цикл первого.

Чтобы локализовать 0xC00E0048, соберите IID и method, thread/apartment, argument values, object state и исходный HRESULT; отдельно запишите ID, HRESULT. Затем для 0xC00E0048 сравните исправный и неуспешный запуск в части «mq, удаление, cn, use», меняя одно условие за раз.

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

Считайте исправление подтверждённым только после устойчивого повтора исходного сценария без результата 0xC00E0048 и без обхода штатных проверок.

Документация для результата 0xC00E0048: Microsoft Open Specifications: MSMQ protocols overview · Message Queuing error and information codes · Message Queuing overview.


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