Site icon EfmSoft

Что означает код HRESULT 0xC00E0058 (MQ_ERROR_TRANSACTION_ENLIST)?

 
Предыдущий Следующий
MQ_ERROR_STALE_HANDLE MQ_ERROR_QUEUE_DELETED

MQ_ERROR_TRANSACTION_ENLIST

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

MQ_ERROR_TRANSACTION_ENLIST (0xC00E0058) — Не удалось присоединить указанную транзакцию.

При результате 0xC00E0058 граница диагностики проходит внутри подсистемы «COM/WinRT», в области «контракт вызываемого interface, аргументы и state объекта». Здесь сообщение «не удалось присоединить указанную транзакцию» связано с темой «mq, transaction, enlist».

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

Сначала сопоставьте первый отказ с фактическими параметрами операции. Для 0xC00E0058 в условии «не удалось присоединить указанную транзакцию» воспроизведите отказ на минимальном объекте и меняйте только одно условие за запуск, чтобы отделить неверный вход от состояния системы.

Перед повтором 0xC00E0058 зафиксируйте IID и method, thread/apartment, argument values, object state и исходный HRESULT; отдельно запишите ID, HRESULT. Различия по теме «mq, transaction, enlist» для 0xC00E0058 покажут, изменился ли первый неуспешный этап.

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

Подтвердите изменение повтором исходной операции: результат 0xC00E0058 не должен возникать на исправном объекте, но прежний отрицательный контроль обязан оставаться предсказуемым.

Документация для результата 0xC00E0058: enable MS DTC diagnostic tracing · destination queues · Message Queuing error and information codes.


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

Exit mobile version