| Предыдущий | Следующий |
| DRIVER_PORTION_MUST_BE_NONPAGED | DRIVER_PAGE_FAULT_IN_FREED_SPECIAL_POOL |
SYSTEM_SCAN_AT_RAISED_IRQL_CAUGHT_IMPROPER_DRIVER_UNLOAD
Неправильная выгрузка драйвера на повышенном IRQL, обнаруженная для SYSTEM_SCAN_AT_RAISED_IRQL_CAUGHT_IMPROPER_DRIVER_UNLOAD
SYSTEM_SCAN_AT_RAISED_IRQL_CAUGHT_IMPROPER_DRIVER_UNLOAD имеет код проверки ошибки 0x000000D4. Эта проверка ошибки относится к результатам Driver Verifier: драйвер был выгружен без отмены незавершённых операций.
Ключевая проблема связана с управлением временем жизни обратных вызовов, таймеров, DPC, рабочих элементов, IRP или объектов устройств, к которым всё ещё возможно обращение после выгрузки.
Как читать дамп
- Само имя уже указывает, что вероятным нарушением контракта является выгрузка драйвера.
- Найдите незавершённые операции, которые продолжают существовать после DriverUnload, удаления устройства или очистки после сбоя.
- IRQL имеет значение, поскольку некоторые проверки выполняются, когда обычная блокирующая очистка уже невозможна.
Что проверить
- Проверьте DriverUnload, EvtDeviceReleaseHardware, пути отмены, таймеры, DPC, рабочие элементы и поставленные в очередь IRP.
- Запустите Driver Verifier для подозреваемого драйвера в тестовой системе.
- Проверьте обращения после выгрузки и обратные вызовы, регистрация которых не была отменена до выгрузки.
Ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.