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

 
Предыдущий Следующий
ERROR_TRANSACTION_NOT_REQUESTED ERROR_TRANSACTION_ALREADY_COMMITTED

ERROR_TRANSACTION_ALREADY_ABORTED

Этот результат указывает на уже отменённую транзакцию KTM. Запрошенный вызов поступил слишком поздно, чтобы изменить или продолжить эту единицу работы. Важный диагностический вопрос — не как принудительно выполнить вызов, а какой участник, тайм-аут, сбой или явный откат первым вызвал отмену.

Не путайте его с

  • ERROR_TRANSACTION_NOT_ACTIVE, который сообщает о повторном использовании транзакции за пределами её активного жизненного цикла, не называя конечный результат.
  • ERROR_TRANSACTION_ALREADY_COMMITTED, который имеет такой же шаблон позднего вызова, но успешный окончательный результат.
  • Ошибка конкретного диспетчера ресурсов: он может сообщить собственный сбой до того, как KTM зарегистрирует транзакцию как отменённую.

Последовательность исследования

Запишите идентификатор транзакции и сопоставьте все участвующие процессы и диспетчеры ресурсов. Найдите первый сбойный обработчик подготовки, фиксации, отката или уведомления, а не более поздний API, получивший этот код. Очистите состояние приложения по пути отмены, закройте устаревшие дескрипторы и создавайте новую транзакцию только тогда, когда повтор безопасен на уровне приложения.

См. Транзакции KTM, API фиксации и откатаи Определения WinError.


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