Что означает код NTSTATUS 0xC000011C (STATUS_RXACT_INVALID_STATE)?

 
Предыдущий Следующий
STATUS_INVALID_IMAGE_NE_FORMAT STATUS_RXACT_COMMIT_FAILURE

STATUS_RXACT_INVALID_STATE

Нарушены правила жизненного цикла RXACT

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

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

Что следует проверить

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

Ссылки


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