Что означает код ошибки Windows 6722 (ERROR_TRANSACTION_OBJECT_EXPIRED)?

 
Предыдущий Следующий
ERROR_TRANSACTION_NOT_ROOT ERROR_TRANSACTION_RESPONSE_NOT_ENLISTED

ERROR_TRANSACTION_OBJECT_EXPIRED

Эта ошибка означает, что дескриптор KTM стал недействительным из-за закрытия связанного Transaction Manager или Resource Manager. Дескриптор не является постоянным идентификатором и не может сохраняться между завершением менеджера, границами восстановления или демонтажем компонента.

Правильная схема восстановления

  • Прекратите использовать просроченный дескриптор; не передавайте его в последующие вызовы KTM как пробный.
  • Повторно откройте или создайте владеющий менеджер только после удовлетворения его требований восстановления.
  • Откройте или создайте новые дескрипторы транзакции, диспетчера ресурсов и подключений для возобновляемого процесса.
  • Согласуйте исход транзакции через документированный путь восстановления вместо предположения, что потеря локального дескриптора означает откат.

Явно отслеживайте владение дескрипторами в службах с асинхронными обратными вызовами. Менеджер может закрыться, пока поставленная работа всё ещё хранит старый дескриптор транзакции или подключения; отмена и контроль времени жизни должны предотвратить поздний вызов KTM.

См. RecoverTransactionManager, API восстановления KTMи определение системного кода ошибки.


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