| Предыдущий | Следующий |
| STATUS_TRANSACTION_NOT_ROOT | STATUS_COMPRESSION_NOT_ALLOWED_IN_TRANSACTION |
STATUS_TRANSACTION_OBJECT_EXPIRED
STATUS_TRANSACTION_OBJECT_EXPIRED означает, что связанный диспетчер транзакций или ресурсов был закрыт, вследствие чего ранее полученный дескриптор стал непригодным. Это ошибка времени жизни: сохранять дескриптор между остановкой, выгрузкой или восстановлением диспетчера недопустимо.
В отличие от STATUS_TRANSACTION_NOT_FOUND, этот статус обычно следует за дескриптором, который ранее существовал. В отличие от STATUS_TRANSACTION_NOT_ACTIVE, он указывает на закрытие связи с диспетчером, а не только на конечное состояние транзакции.
Ранее допустимый дескриптор объекта транзакции истёк
- Отслеживайте владение дескрипторами TM, RM, зачисления и транзакции, включая путь завершения, закрывший диспетчер.
- Закройте устаревшие дескрипторы и повторно открывайте нужные объекты только после запуска диспетчера транзакций и восстановления диспетчера ресурсов.
- Не кэшируйте дескрипторы KTM в долгоживущих рабочих потоках без стратегии жизненного цикла и отмены.
Ссылки
- Microsoft: диспетчеры транзакций KTM и восстановление
- Microsoft: создание диспетчера ресурсов KTM
- Открытые спецификации Microsoft: значения NTSTATUS
Нужно найти другой код? Найти другой код состояния или ошибки.