Что означает код NTSTATUS 0xC0190060 (STATUS_EXPIRED_HANDLE)?

 
Предыдущий Следующий
STATUS_TRANSACTION_NO_SUPERIOR STATUS_TRANSACTION_NOT_ENLISTED

STATUS_EXPIRED_HANDLE

Дескриптор потерял связь с транзакцией

STATUS_EXPIRED_HANDLE указывает, что дескриптор больше не связан должным образом со своей транзакцией. Распространённая причина — дескриптор был открыт в транзакционном диспетчере ресурсов, который затем перезапустился или выполнил восстановление.

Это состояние устаревшего дескриптора, связанное со временем жизни диспетчера ресурсов TxF. Обычно правильным направлением является закрытие и повторное открытие объекта; продолжение работы со старым дескриптором рискует обратиться к уже несуществующему контексту транзакции.

Что проверить

  • События перезапуска, восстановления или завершения диспетчера ресурсов на затронутом томе.
  • Дескрипторы, остававшиеся открытыми после перезапуска службы, аварийного восстановления или восстановления диспетчера транзакций.
  • Проверьте, повторяет ли приложение операцию, повторно открывая файл в новом контексте транзакции.
  • Проверьте, не переживают ли продублированные или унаследованные дескрипторы компонент, которому принадлежит транзакция.

Полезное различие

STATUS_HANDLE_NO_LONGER_VALID часто следует за завершением или откатом транзакции. STATUS_EXPIRED_HANDLE подчёркивает потерю связи с транзакционным диспетчером ресурсов.

Ссылки


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