| Предыдущий | Следующий |
| STATUS_RM_METADATA_CORRUPT | STATUS_DIRECTORY_NOT_RM |
STATUS_TRANSACTION_NOT_JOINED
STATUS_TRANSACTION_NOT_JOINED обозначает ошибку порядка операций в диспетчере ресурсов KTM: он попытался подготовить транзакцию, не завершив предварительно присоединение. KTM использует объект присоединения, чтобы связать диспетчер ресурсов с транзакцией и доставлять уведомления, управляющие подготовкой, фиксацией, откатом и восстановлением.
Не считайте это общей ошибкой подготовки. Важно выяснить, был ли вызов ZwCreateEnlistment неуспешным, пропущен ли он в одной из ветвей кода или создал присоединение для другого идентификатора транзакции. STATUS_TRANSACTION_NOT_ENLISTED связан с этим состоянием, но может возникать, когда более поздней операции требуется отсутствующее присоединение.
Подготовка была начата без действительного присоединения
- Запишите идентификатор транзакции и дескриптор присоединения сразу после успешного завершения вызова присоединения.
- Убедитесь, что запрошенная маска уведомлений включает этапы, на которые диспетчер ресурсов затем отвечает.
- Не вызывайте процедуры завершения подготовки вместо создания или восстановления присоединения.
Ссылки
- Microsoft: создание диспетчера ресурсов KTM
- Microsoft: объекты включения KTM
- Microsoft: уведомления транзакций KTM
Нужно найти другой код? Найти другой код состояния или ошибки.