| Предыдущий | Следующий |
| 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 не изменился, результат останется тем же.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.