| Предыдущий | Следующий |
| 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.
Нужно найти другой код? Найти другой код состояния или ошибки.