Что означает код NTSTATUS 0xC022000D (STATUS_FWP_NO_TXN_IN_PROGRESS)?

 
Предыдущий Следующий
STATUS_FWP_WRONG_SESSION STATUS_FWP_TXN_IN_PROGRESS

STATUS_FWP_NO_TXN_IN_PROGRESS

API требует границу транзакции, управляемую вызывающей стороной

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

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

Что проверить

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

Ссылки


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