| Предыдущий | Следующий |
| ERROR_TRANSACTION_NOT_ACTIVE | ERROR_TRANSACTION_NOT_REQUESTED |
ERROR_TRANSACTION_REQUEST_NOT_VALID
Этот статус означает, что запрошенная операция KTM не соответствует текущему состоянию транзакции. Следовательно, проблема связана с порядком или ролью вызова, а не обязательно с допустимостью дескриптора. KTM разделяет запросы транзакций, уведомления диспетчера ресурсов, вызовы завершения зачисления и операции восстановления; каждый из них допустим только на соответствующей фазе.
Типичная диагностика
- Определите точную функцию KTM, вернувшую ошибку, и переданный ей дескриптор транзакции или зачисления.
- Постройте временную последовательность
CreateTransaction, зачисления, доставки уведомлений, подготовки, фиксации, отката и вызовов завершения. - Убедитесь, что callback-функция не вызывает метод завершения для другого уведомления или другого зачисления.
- После конечного результата создайте или откройте подходящую новую транзакцию вместо продолжения прежней последовательности протокола.
Для диспетчера ресурсов соответствующее состояние часто видно в уведомлении, доставленном через GetNotificationResourceManager. Тип уведомления и маска уведомлений зачисления определяют, какой ответ допустим.
См. Функции KTM, GetNotificationResourceManagerи Справочник NOTIFICATION_MASK.
Нужно найти другой код? Найти другой код состояния или ошибки.
