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