Что означает код NTSTATUS 0xC0000148 (STATUS_INVALID_LEVEL)?

 
Предыдущий Следующий
STATUS_NO_PAGEFILE STATUS_WRONG_PASSWORD_CORE

STATUS_INVALID_LEVEL

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

STATUS_INVALID_LEVEL возвращается, когда вызываемый интерфейс получает неподдерживаемое значение уровня либо выполняется на уровне исполнения, который нарушает его контракт. Для kernel-mode кода это часто означает неправильный IRQL; для других API — недопустимый числовой level или selector.

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

  • Запишите фактическое значение level и точный API, вернувший статус.
  • В драйвере снимите KeGetCurrentIrql() непосредственно перед вызовом и проследите путь, где IRQL был повышен.
  • Проверьте DPC/ISR, completion routines и spin-lock sections, из которых мог быть вызван PASSIVE_LEVEL-only интерфейс.

Как исправить

Передавайте только документированные значения и переносите операции, требующие PASSIVE_LEVEL, в worker/passive context. Не маскируйте проблему повтором того же вызова: если execution level не изменился, результат останется тем же.

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


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