Проверка ошибок 0xC9: DRIVER_VERIFIER_IOMANAGER_VIOLATION
Проверка ошибок DRIVER_VERIFIER_IOMANAGER_VIOLATION имеет значение 0x000000C9. Это код проверки ошибок для всех нарушений проверки ввода-вывода средства проверки драйвера.
Внимание
Эта статья предназначена для программистов. Если вы являетесь клиентом, который получил код ошибки синего экрана при использовании компьютера, см. статью "Устранение неполадок синим экраном".
параметры DRIVER_VERIFIER_IOMANAGER_VIOLATION
Если средство проверки драйверов активно, а проверка ввода-вывода выбрана, различные нарушения ввода-вывода вызывают выдачу этой проверки ошибок. Параметр 1 определяет тип нарушения.
Параметр 1 | Параметр 2 | Параметр 3 | Параметр 4 | Причина ошибки |
---|---|---|---|---|
0x01 |
Адрес освобождения IRP |
0 |
0 |
Драйвер попытался освободить объект, тип которого не IO_TYPE_IRP. |
0x02 |
Адрес освобождения IRP |
0 |
0 |
Драйвер попытался освободить IRP, который по-прежнему связан с потоком. |
0x03 |
Адрес отправки IRP |
0 |
0 |
Драйвер передал IoCallDriver тип IRP, не равный IRP_TYPE. |
0x04 |
Адрес объекта устройства |
0 |
0 |
Драйвер передал IoCallDriver недопустимый объект устройства. |
0x05 |
Адрес объекта устройства, связанного с обиженным драйвером |
IRQL до IoCallDriver |
IRQL после IoCallDriver |
IRQL изменился во время вызова подпрограммы отправки драйвера. |
0x06 |
Состояние IRP |
Адрес завершения IRP |
0 |
Драйвер с именем IoCompleteRequest с состоянием, помеченным как ожидающее (или равно -1). |
0x07 |
Адрес подпрограммы отмены |
Адрес завершения IRP |
0 |
Драйвер называется IoCompleteRequest , пока его подпрограмма отмены по-прежнему задана. |
0x08 |
Адрес объекта устройства |
Код основной функции IRP |
Код состояния исключения |
Драйвер передал IoBuildAsynchronousFsdRequest недопустимый буфер. |
0x09 |
Адрес объекта устройства |
Код элемента управления ввода-вывода |
Код состояния исключения |
Драйвер передал IoBuildDeviceIoControlRequest недопустимый буфер. |
0x10 |
Текущий IRQL |
Зарезервировано |
Зарезервировано |
IoCallDriver был вызван выше DISPATCH_LEVEL. |
0x11 |
Адрес подпрограммы отправки операций ввода-вывода драйвера |
IRQL перед вызовом подпрограммы отправки драйвера |
Текущий IRQL |
IoCallDriver был вызван выше DISPATCH_LEVEL. |
0x12 |
Адрес подпрограммы отправки драйвера |
IRQL перед вызовом подпрограммы отправки драйвера |
Текущий IRQL |
IoCallDriver был вызван выше DISPATCH_LEVEL. |
0x0A |
Адрес объекта устройства |
0 |
0 |
Драйвер передал IoInitializeTimer объект устройства с уже инициализированным таймером. |
0x0C |
Адрес блока состояния ввода-вывода |
0 |
0 |
Драйвер передал блок состояния ввода-вывода в IRP, но этот блок выделяется на стеке, который уже распростил этот момент. |
0x0D |
Адрес объекта события пользователя |
0 |
0 |
Драйвер передал событие пользователя в IRP, но это событие выделяется на стеке, который уже распростил этот момент. |
0x0E |
Текущий IRQL |
Адрес IRP |
0 |
Драйвер с именем IoCompleteRequest с DISPATCH_LEVEL IRQL > . |
0x0F |
Адрес объекта устройства, в который отправляется IRP |
Указатель на IRP |
Указатель на объект файла |
Драйвер отправил запрос на создание с закрытым объектом файла или был отменен. |
Помимо ошибок, упомянутых в предыдущей таблице, существует ряд ошибок проверки ввода-вывода, которые приведут к остановке системы проверки драйверов, но которые на самом деле не являются проверками ошибок.
Эти ошибки приводят к отображению сообщений на синем экране, в файле аварийного дампа и в отладчике ядра. Эти сообщения будут отображаться по-разному в каждом из этих расположений. При возникновении этих ошибок шестнадцатеричный код проверки ошибок 0xC9, а строка проверки ошибок DRIVER_VERIFIER_IOMANAGER_VIOLATION не отображается на синем экране или в отладчике, хотя они будут отображаться в файле аварийного дампа.
На синем экране будут отображаться следующие данные:
Ошибка ПРОВЕРКИ СИСТЕМЫ ВВОДА-ВЫВОДА сообщения.
Сообщение WDM DRIVER ERROR XXX, где XXX — шестнадцатеричный код, представляющий конкретную ошибку. (См. таблицу ниже для списка кодов ошибок ввода-вывода и их значений.)
Имя драйвера, вызвавшего ошибку.
Как правило, адрес в коде драйвера, в котором обнаружена ошибка (параметр 2).
Если включен аварийный дамп режима ядра, в файле аварийного дампа появится следующая информация:
Сообщение BugCheck 0xC9 (DRIVER_VERIFIER_IOMANAGER_VIOLATION).
Шестнадцатеричный код ошибки ввода-вывода. (См. таблицу ниже для списка кодов ошибок ввода-вывода и их значений.)
Как правило, адрес в коде драйвера, в котором обнаружена ошибка (параметр 2).
Если отладчик ядра подключен к системе, вызвавшей это нарушение, то следующие сведения будут отправлены отладчику:
Сообщение об ошибке WDM DRIVER, а также оценка серьезности ошибки.
Имя драйвера, вызвавшего ошибку.
Описательная строка, объясняющая причину этой ошибки. Часто передаются дополнительные сведения, например указатель на IRP или указатель на объект устройства или сведения IRQL. (См. таблицу ниже для списка этих описательных строк и дополнительных сведений.
Запрос к дальнейшим действиям. Возможные ответы : b (перерыв), i (ignore), z (zap), r (remove) или d (disable). Указание операционной системе продолжить позволяет увидеть, что произойдет "вниз по строке", если эта ошибка не произошла. Конечно, это часто приведет к дополнительным проверкам ошибок. Параметр "zap" фактически удаляет точку останова, которая привела к обнаружению этой ошибки.
Обратите внимание, что никакие другие проверки ошибок не могут быть проигнорированы таким образом. Только такие ошибки проверки ввода-вывода могут игнорироваться, и даже эти ошибки можно игнорировать только при присоединении отладчика ядра.
В следующей таблице перечислены ошибки проверки ввода-вывода, которые могут появиться.
Код ошибки ввода-вывода | Важность | Причина ошибки |
---|---|---|
0x200 |
Неизвестно |
Этот код охватывает все неизвестные ошибки проверки ввода-вывода. |
0x201 |
Неустранимая ошибка |
Устройство удаляется, когда под ним находится другое устройство в стеке драйверов. Это может быть связано с тем, что вызывающий объект забыл сначала вызвать IoDetachDevice , или нижний драйвер может неправильно удалить себя. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. |
0x202 |
Неустранимая ошибка |
Драйвер попытался отсоединить от объекта устройства, который не подключен к чему-либо. Это может произойти, если отсоединение было вызвано дважды на одном объекте устройства. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — адрес объекта устройства. |
0x203 |
Неустранимая ошибка |
Драйвер вызвал IoCallDriver , не задав подпрограмму отмены в IRP значение NULL. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. |
0x204 |
Неустранимая ошибка |
Вызывающий объект передает значение NULL в качестве объекта устройства. Это неустранимая. Param 2 — зарезервировано Param 3 — зарезервировано |
0x205 |
Неустранимая ошибка |
Вызывающий объект перенаправит IRP, который в настоящее время находится в очереди под ним. Как представляется, код, обрабатывающий irPs, возвращающие STATUS_PENDING в этом драйвере, будет нарушен. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. |
0x206 |
Неустранимая ошибка |
Вызывающий объект неправильно перенаправил IRP (поле управления не равно нулю). Драйвер должен использовать IoCopyCurrentIrpStackLocationToNext или IoSkipCurrentIrpStackLocation. Param 2 — зарезервировано Param 3 — зарезервировано |
0x207 |
Неустранимая ошибка |
Вызывающий объект вручную копировал стек и непреднамеренно копировал подпрограмму завершения верхнего слоя. Драйвер должен использовать IoCopyCurrentIrpStackLocationToNext. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. |
0x208 |
Неустранимая ошибка |
Этот IRP должен выйти из расположений стека. Возможно, кто-то перенаправил этот IRP из другого стека. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. |
0x209 |
Неустранимая ошибка |
Вызывающий объект завершает IRP, который в настоящее время находится в очереди под ним. Как представляется, код, обрабатывающий irPs, возвращающие STATUS_PENDING в этом драйвере, будет нарушен. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. |
0x20A |
Неустранимая ошибка |
Вызывающий объект IoFreeIrp освобождает IRP, который по-прежнему используется. Param 2 — зарезервировано Param 3 — зарезервировано |
0x20B |
Неустранимая ошибка |
Вызывающий объект IoFreeIrp освобождает IRP, который по-прежнему используется. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. |
0x20C |
Неустранимая ошибка |
Вызывающий объект IoFreeIrp освобождает IRP, который по-прежнему помещается в очередь для потока. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. |
0x20D |
Неустранимая ошибка |
Вызывающий объект IoInitializeIrp прошел IRP, выделенный с IoAllocateIrp. Это является незаконным и ненужным, и вызвало утечку квоты. Проверьте документацию для IoReuseIrp , если эта функция IRP перезапускается. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. |
0x20E |
Неустранимая ошибка |
IRP PNP имеет недопустимое состояние. (Любой IRP PNP должен иметь его состояние инициализировано в STATUS_NOT_SUPPORTED.) Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. |
0x20F |
Неустранимая ошибка |
Power IRP имеет недопустимое состояние. (Любой power IRP должен иметь его состояние инициализировано для STATUS_NOT_SUPPORTED.) Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. |
0x210 |
Неустранимая ошибка |
WMI IRP имеет недопустимое состояние. (Любой IRP WMI должен иметь состояние, инициализированное для STATUS_NOT_SUPPORTED.) Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. |
0x211 |
Неустранимая ошибка |
Вызывающий объект перенаправил IRP во время пропуска объекта устройства в стеке. Вызывающий объект, вероятно, отправляет irPs в PDO вместо устройства, возвращенного IoAttachDeviceToDeviceStack. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. |
0x212 |
Неустранимая ошибка |
Вызывающий объект имеет корзину или неправильно копировал стек IRP. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. |
0x213 |
Неустранимая ошибка |
Вызывающий объект изменил поле состояния IRP, которое он не понимает. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. |
0x214 |
Неустранимая ошибка |
Вызывающий объект изменил поле информации IRP, которое он не понимает. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. |
0x215 |
Неустранимая ошибка |
Состояние IRP, не являющегося успешным, не STATUS_NOT_SUPPORTED для IRP_MJ_PNP передается стек. Не удалось выполнить PNP IRP. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. |
0x216 |
Неустранимая ошибка |
Состояние IRP_MJ_PNP ранее было преобразовано в STATUS_NOT_SUPPORTED. Это состояние сбоя зарезервировано для использования операционной системой. Драйверы не могут завершиться ошибкой IRP PnP с этим значением. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. |
0x217 |
Неустранимая ошибка |
Драйвер не обработал необходимый IRP. Драйвер должен обновить состояние IRP, чтобы указать, был ли он обработан. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. |
0x218 |
Неустранимая ошибка |
Драйвер ответил на IRP, зарезервированный для других объектов устройств в другом месте стека. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. |
0x219 |
Неустранимая ошибка |
Состояние IRP, отличного от STATUS_NOT_SUPPORTED, для IRP_MJ_POWER передается стек. Не удалось выполнить операции power IRPs. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. |
0x21A |
Неустранимая ошибка |
Состояние IRP_MJ_POWER ранее было преобразовано в STATUS_NOT_SUPPORTED. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. |
0x21B |
Неустранимая ошибка |
Драйвер вернул подозрительное состояние. Это, вероятно, связано с ошибкой неинициализированной переменной в драйвере. Param 3 — IRP-адрес. |
0x21C |
Предупреждение |
Вызывающий объект копировал стек IRP, но не устанавливал подпрограмму завершения. Это неэффективно . Вместо этого используйте IoSkipCurrentIrpStackLocation . Param 2 — зарезервировано Param 3 — зарезервировано |
0x21D |
Неустранимая ошибка |
Обработчик диспетчера IRP не отсоединился от стека под ним при получении удаления IRP. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. Param 4 — адрес объекта устройства. |
0x21E |
Неустранимая ошибка |
Обработчик диспетчера IRP неправильно удалил свой объект устройства при получении удаленного IRP. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. Param 4 — адрес объекта устройства. |
0x21F |
Неустранимая ошибка |
Драйвер не заполняет подпрограмму отправки для требуемой основной функции IRP. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. |
0x220 |
Неустранимая ошибка |
IRP_MJ_SYSTEM_CONTROL был завершен кем-либо, кроме ProviderId. Этот IRP должен был быть завершен ранее или должен был быть передан. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. Param 4 — ProviderId. |
0x221 |
Неустранимая ошибка |
Обработчик диспетчера IRP для PDO удалил свой объект устройства, но оборудование не было указано, как отсутствует в запросе связей с шиной. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. Param 4 — адрес объекта устройства. |
0x222 |
Неустранимая ошибка |
Обработчик диспетчера IRP фильтра шины отсоединился при получении удаления IRP, когда PDO по-прежнему жив. Фильтры шины должны очищаться в обратных вызовах FastIoDetach . Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. Param 4 — адрес объекта устройства. |
0x223 |
Неустранимая ошибка |
Обработчик диспетчера IRP для фильтра шины удалил свой объект устройства, но PDO по-прежнему присутствует. Фильтры шины должны очищаться в обратных вызовах FastIoDetach . Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. Param 4 — адрес объекта устройства. |
0x224 |
Неустранимая ошибка |
Обработчик диспетчера IRP вернул состояние, которое не соответствует полю IoStatus.Status IRP. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. Param 4 — ожидаемый код состояния. |
0x225 |
Неустранимая ошибка |
Обработчик диспетчера IRP вернул состояние, которое является незаконным (0xFFFFFFFF). Это, вероятно, связано с неинициализированной переменной стека. Чтобы выполнить отладку этой ошибки, используйте команду ln (Список ближайших символов) с указанным адресом. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. Param 4 — код состояния. |
0x226 |
Неустранимая ошибка |
Обработчик диспетчера IRP вернулся без передачи или завершения этого IRP, или кто-то забыл вернуть STATUS_PENDING. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. |
0x227 |
Неустранимая ошибка |
Подпрограмма завершения IRP находится в коде, доступном для страниц. (Это никогда не допускается.) Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. |
0x228 |
Неустранимая ошибка |
Подпрограмма завершения драйвера не помечает ожидание IRP, если поле PendingReturned было задано в IRP, переданном в него. Это может привести к зависаю Windows, особенно если ошибка возвращается стеком. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. |
0x229 |
Неустранимая ошибка |
Подпрограмма отмены была задана для IRP, который в настоящее время обрабатывается драйверами ниже в стеке, возможно, спотыкая их подпрограмму отмены. Param 2 — зарезервировано. Param 3 — зарезервировано. |
0x22A |
Неустранимая ошибка |
Объект физического устройства (PDO) не ответил на необходимый IRP. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. |
0x22B |
Неустранимая ошибка |
Объект физического устройства (PDO) забыл заполнить список отношений устройства PDO для запроса TargetDeviceRelation . Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. |
0x22C |
Неустранимая ошибка |
Код, реализуя запрос TargetDeviceRelation , не вызывает ObReferenceObject в PDO. Param 2 — зарезервировано. Param 3 — зарезервировано. |
0x22D |
Неустранимая ошибка |
Вызывающий завершил IRP_MJ_PNP он не понял, а не передает его вниз. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. |
0x22E |
Неустранимая ошибка |
Вызывающий объект завершил успешный IRP_MJ_PNP вместо передачи. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. |
0x22F |
Неустранимая ошибка |
Вызывающий объект завершил нетронутое IRP_MJ_PNP (вместо передачи IRP вниз), или не PDO завершил сбой IRP с использованием незаконного значения STATUS_NOT_SUPPORTED. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. |
0x230 |
Неустранимая ошибка |
Вызывающий завершил IRP_MJ_POWER он не понял, а не передает его вниз. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. |
0x231 |
Неустранимая ошибка |
Вызывающий объект завершил успешный IRP_MJ_POWER вместо передачи. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. |
0x232 |
Неустранимая ошибка |
Вызывающий объект завершил нетронутое IRP_MJ_POWER (вместо передачи IRP вниз), или не PDO завершил сбой IRP с использованием незаконного значения STATUS_NOT_SUPPORTED. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. |
0x233 |
Неустранимая ошибка |
Поле версии структуры возможностей запроса в возможностях запросов IRP не было правильно инициализировано. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. |
0x234 |
Неустранимая ошибка |
Поле размера структуры возможностей запроса в IRP запросов было неправильно инициализировано. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. |
0x235 |
Неустранимая ошибка |
Поле адреса структуры возможностей запроса в возможностях запросов IRP не было правильно инициализировано в -1. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. |
0x236 |
Неустранимая ошибка |
Поле "Номер пользовательского интерфейса" структуры возможностей запроса в возможностях запроса IRP неправильно инициализировано в -1. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. |
0x237 |
Неустранимая ошибка |
Драйвер отправил IRP, ограниченный только для использования системы. Param 2 — зарезервировано. Param 3 — зарезервировано. |
0x238 |
Предупреждение |
Вызывающий объект IoInitializeIrp прошел IRP, выделенный с IoAllocateIrp. Это является незаконным, ненужным и отрицательно влияет на производительность в обычном использовании. Если этот IRP перезапускается, см . раздел IoReuseIrp в комплекте драйверов Windows. Param 2 — зарезервировано. Param 3 — зарезервировано. |
0x239 |
Предупреждение |
Вызывающий объект IoCompleteRequest завершает IRP, который никогда не был переадресован с помощью вызова IoCallDriver или PoCallDriver. Это может быть ошибка. Param 2 — зарезервировано. Param 3 — зарезервировано. |
0x23A |
Неустранимая ошибка |
Драйвер перенаправил IRP на IRQL, который является незаконным для этого основного кода. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. |
0x23B |
Неустранимая ошибка |
Вызывающий объект изменил поле состояния IRP, которое он не понимает. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. |
В следующей таблице перечислены дополнительные ошибки проверки ввода-вывода, которые могут появиться. Эти ошибки отображаются при активации расширенной проверки ввода-вывода. Дополнительные сведения см. в разделе "Расширенная проверка ввода-вывода".
Код ошибки ввода-вывода | Важность | Причина ошибки |
---|---|---|
0x23C |
Неустранимая ошибка |
Драйвер завершил IRP без задания процедуры отмены в IRP значение NULL. Param 2 — зарезервировано. Param 3 — зарезервировано. |
0x23D |
Неустранимая ошибка |
Драйвер вернул STATUS_PENDING, но не помечает ожидание IRP через вызов IoMarkIrpPending. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. Param 4 — код состояния. |
0x23E |
Неустранимая ошибка |
Драйвер помечает ожидание IRP, но не вернул STATUS_PENDING. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. Param 4 — код состояния. |
0x23F |
Неустранимая ошибка |
Драйвер не наследовал DO_POWER_PAGABLE бит из стека, к которому он подключен. Param 2 — зарезервировано. Param 3 — зарезервировано. |
0x240 |
Неустранимая ошибка |
Драйвер пытается удалить объект устройства, который уже был удален с помощью предыдущего вызова IoDeleteDevice. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 2 — зарезервировано. Param 3 — зарезервировано. |
0x241 |
Неустранимая ошибка |
Драйвер отсоединил свой объект устройства во время неожиданного удаления IRP. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. Param 4 — адрес объекта устройства. |
0x242 |
Неустранимая ошибка |
Драйвер удалил свой объект устройства во время неожиданного удаления IRP. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. Param 4 — адрес объекта устройства. |
0x243 |
Неустранимая ошибка |
Драйвер не смог очистить флаг DO_DEVICE_INITIALIZING в конце AddDevice. Param 2 — зарезервировано. Param 3 — зарезервировано. Param 4 — |
0x244 |
Неустранимая ошибка |
Драйвер не копировал либо DO_BUFFERED_IO, либо флаг DO_DIRECT_IO из объекта устройства, к которому он присоединяется. Param 2 — зарезервировано. Param 3 — зарезервировано. |
0x245 |
Неустранимая ошибка |
Драйвер задал DO_BUFFERED_IO и флаги DO_DIRECT_IO. Эти флаги являются взаимоисключающими. Param 2 — зарезервировано. Param 3 — зарезервировано. |
0x246 |
Неустранимая ошибка |
Драйвер не удалось скопировать поле DeviceType из объекта устройства, к которому он подключается. Param 2 — зарезервировано. Param 3 — зарезервировано. |
0x247 |
Неустранимая ошибка Param 2 — зарезервировано. Param 3 — зарезервировано. |
Водитель не удалось IRP, который не может быть юридически не выполнен. |
0x248 |
Неустранимая ошибка |
Драйвер добавил объект устройства, который не является PDO для запроса отношений устройств. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. Param 4 — адрес объекта устройства. |
0x249 |
Неустранимая ошибка |
Драйвер перечислил два дочерних PDOS, возвращающих идентичные идентификаторы устройств. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — первый адрес объекта устройства. Param 4 — второй адрес объекта устройства. |
0x24A |
Неустранимая ошибка |
Драйвер ошибочно назвал функцию ввода-вывода файла с IRQL не равно PASSIVE_LEVEL. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — зарезервировано. Param 4 — зарезервировано. |
0x24B |
Неустранимая ошибка |
Драйвер завершил запрос IRP_MN_QUERY_DEVICE_RELATIONS типа TargetDeviceRelation как успешный, но неправильно заполнял запрос или перенаправил IRP в базовый стек оборудования. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — адрес объекта устройства. |
0x24C |
Неустранимая ошибка |
Драйвер вернул STATUS_PENDING, но не помечает IRP, ожидающий вызова IoMarkIrpPending. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. Param 4 — код состояния. |
0x24D |
Неустранимая ошибка |
Драйвер передал недопустимый объект устройства функции, требующей PDO. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. Param 4 — адрес объекта устройства. |
0x300 |
Неустранимая ошибка |
Драйвер вернул подозрительное состояние. Это, вероятно, связано с ошибкой неинициализированной переменной в драйвере. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. Param 4 — подозрительный код состояния. |
0x301 |
Неустранимая ошибка |
Драйвер перенаправил IRP в IRQL > DISPATCH_LEVEL. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. Param 4 — неправильное значение IRQL |
0x302 |
Неустранимая ошибка |
Драйвер перенаправил IRP в IRQL > = APC_LEVEL. Диспетчер операций ввода-вывода должен ставить APC в очередь для выполнения этого запроса. APC не сможет работать, так как вызывающий объект уже находится на уровне APC, поэтому вызывающий объект, скорее всего, будет взаимоблокировкой. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. Param 4 — неправильное значение IRQL. |
0x306 |
Неустранимая ошибка |
Драйвер завершает IRP_MJ_PNP (основной) и IRP_MN_REMOVE_DEVICE (незначительный) запрос с кодом состояния сбоя. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. |
0x307 |
Неустранимая ошибка |
Драйвер выпустил запрос ввода-вывода с событием, которое уже сигналировало и получило STATUS_PENDING ответ. Это может привести к очистке до завершения ввода-вывода. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. |
0x310 |
Неустранимая ошибка |
Драйвер повторно инициализирует IRP, который по-прежнему используется. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. |
0x311 |
Неустранимая ошибка |
Драйвер повторно инициализирует IRP, созданный с помощью IoMakeAssociatedIrp, IoBuildAsynchronousFsdRequest, IoBuildSynchronousFsdRequest, IoBuildDeviceIoControlRequest. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. |
0x312 |
Неустранимая ошибка |
Вызывающий объект предоставил поле сведений о состоянии IRP со значением, превышающим выходной раздел буфера системы. Param 2 — адрес в коде драйвера, в котором обнаружена ошибка. Param 3 — IRP-адрес. |
Причина
Описание каждого кода в разделе "Параметры" см. в описании причины.
Разрешение
Эта проверка ошибок может возникать только в том случае, если средство проверки драйверов было поручено отслеживать один или несколько драйверов. Если вы не намеревались использовать средство проверки драйверов, его следует отключить. Дополнительные сведения см. в разделе "Управление проверятелем драйверов" в средство проверки драйверов. Возможно, вы можете обновить или удалить драйвер, который также вызвал эту проблему.
Если вы являетесь разработчиком драйверов, используйте сведения, полученные с помощью этой ошибки, чтобы устранить ошибки в коде.
Полные сведения о средство проверки драйверов см. в разделе "Проверка драйверов".