Что означает код NTSTATUS 0xC000A003 (STATUS_INVALID_STATE_TRANSITION)?

 
Предыдущий Следующий
STATUS_AUTH_TAG_MISMATCH STATUS_INVALID_KERNEL_INFO_VERSION

STATUS_INVALID_STATE_TRANSITION

Что означает STATUS_INVALID_STATE_TRANSITION

STATUS_INVALID_STATE_TRANSITION означает, что компонент попытался перевести объект в состояние, которое недопустимо из его текущего состояния.

Такая ошибка часто возникает при гонке между запуском, остановкой, отменой или повторной инициализацией одного объекта.

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

  • Зафиксируйте текущее и требуемое состояния непосредственно перед неудачной операцией.
  • Сверьте обязательные промежуточные переходы и порядок вызовов для конкретного API или драйверной модели.
  • Проверьте, не меняет ли состояние другой поток между проверкой и выполнением операции.
  • Логируйте поколение объекта и последнюю успешно завершённую смену состояния.

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

Технические ссылки


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