| Предыдущий | Следующий |
| STATUS_VDM_HARD_ERROR | STATUS_REPLY_MESSAGE_MISMATCH |
STATUS_DRIVER_CANCEL_TIMEOUT
Путь отмены не смог своевременно освободить запрос
При отмене владение передаётся по строгим правилам IRP и очередей. Драйвер должен при необходимости остановить аппаратную операцию, разрешить гонки с обычным завершением, освободить блокировки и завершить либо передать запрос ровно один раз. Этот статус означает, что отменённый запрос оставался незавершённым достаточно долго, чтобы сработал тайм-аут.
Задержавшийся компонент может находиться ниже драйвера, инициировавшего отмену. Проследите стек IRP и владение отменой, не предполагая автоматически, что виноват верхний драйвер. Искусственное завершение запроса может привести к обращению к освобождённой памяти, если оборудование или другой драйвер всё ещё владеет им.
Что проверить
- Зафиксируйте стек IRP, процедуру отмены, владельца очереди и ожидающую аппаратную команду.
- Проверьте порядок блокировок и гонки между отменой, DPC, тайм-аутом и обычным завершением.
- Используйте проверку ввода-вывода Driver Verifier и журналы запросов фреймворка для обнаружения двойного владения.
Ссылки
- Microsoft: отмена IRP
- Microsoft: объекты запросов Framework
- Microsoft: использование значений NTSTATUS
- Открытые спецификации Microsoft: значения NTSTATUS
- Исходный код ReactOS: загрузка драйверов и диспетчер ввода-вывода
Нужно найти другой код? Найти другой код состояния или ошибки.
