Поделиться через


0xC4 проверки ошибок: DRIVER_VERIFIER_DETECTED_VIOLATION

Проверка ошибок DRIVER_VERIFIER_DETECTED_VIOLATION имеет значение 0x000000C4. Это общая ошибка, проверка код для неустранимых ошибок, обнаруженных средством проверки драйверов. Дополнительные сведения см. в разделе Обработка проверки ошибок при включении средства проверки драйверов.

Важно!

Эта статья предназначена для программистов. Если вы являетесь клиентом, который получил код ошибки "синий экран" во время работы с компьютером, см. статью Устранение ошибок синего экрана.

Параметры DRIVER_VERIFIER_DETECTED_VIOLATION

Параметр 1 определяет тип нарушения. Значение остальных параметров зависит от значения параметра 1. Значения параметров описаны в следующей таблице.

Примечание Если у вас возникли проблемы с просмотром всех 5 столбцов в этой таблице, попробуйте выполнить следующие действия:

  • Разверните окно браузера до полного размера.
  • Поместите курсор в таблицу и используйте клавиши со стрелками для прокрутки влево и вправо.

0x00 в 0x70

Параметр 1 Параметр 2 Параметр 3 Параметр 4 Причина ошибки
0x00 Текущий IRQL Тип пула Число байтов Драйвер запросил выделение пула с нулевыми байтами.
0x01 Текущий IRQL Тип пула Размер выделения в байтах Драйвер попытался выделить постраничной памяти с помощью APC_LEVEL IRQL > .
0x02 Текущий IRQL Тип пула Размер выделения в байтах Драйвер попытался выделить непагрегированную память с помощью DISPATCH_LEVEL IRQL > .
0x03 Вызывающий объект пытается выделить несколько страниц пула must succeed, но одна страница является максимально допустимым этим API.
0x10 Неправильный адрес 0 0 Драйвер попытался освободить адрес, который не был возвращен из вызова выделения.
0x11 Текущий IRQL Тип пула Адрес пула Драйвер попытался освободить страничный пул с помощью IRQL > APC_LEVEL.
0x12 Текущий IRQL Тип пула Адрес пула Драйвер попытался освободить невыгвозмой пул с помощью DISPATCH_LEVEL IRQL > .
0x13 или 0x14 Зарезервировано Указатель на заголовок пула Содержимое заголовка пула Драйвер попытался освободить пул памяти, который уже был освобожден.
0x15 Запись таймера Тип пула Освобождаемый адрес пула Пул, который вызывающий объект пытается освободить, содержит активный таймер.
0x16 Зарезервировано Адрес пула 0 Драйвер пытался освободить пул по неправильному адресу или драйвер передал недопустимые параметры в подпрограмму памяти.
0X17 Запись ресурса Тип пула Освобождаемый адрес пула Пул, который вызывающий объект пытается освободить, содержит активный ERESOURCE.
0x30 Текущий IRQL Запрошенный IRQL 0 Драйвер передал недопустимый параметр в KeRaiseIrql. (Параметр был либо значением ниже текущего IRQL, либо значением выше, чем HIGH_LEVEL. Это может быть результатом использования неинициализированного параметра.)
0x31 Текущий IRQL Запрошенный IRQL 0: новый IRQL является плохим 1: новый IRQL недопустим в подпрограмме DPC Драйвер передал недопустимый параметр в KeLowerIrql. (Параметр был либо значением выше текущего IRQL, либо значением выше, чем HIGH_LEVEL. Это может быть результатом использования неинициализированного параметра.)
0x32 Текущий IRQL Адрес спин-блокировки 0 Драйвер с именем KeReleaseSpinLock в IRQL, отличном от DISPATCH_LEVEL. (Это может быть связано с двойным освобождением спин-блокировки.)
0x33 Текущий IRQL Быстрый адрес мьютекса 0 Драйвер попытался получить быстрый мьютекс с APC_LEVEL IRQL > .
0x34 Текущий IRQL Отключение счетчика APC потока Быстрый адрес мьютекса Драйвер попытался освободить быстрый мьютекс в IRQL, отличном от APC_LEVEL.
0x35 Текущий IRQL Адрес спин-блокировки Старый IRQL Ядро выпустило блокировку спина с IRQL, не равной DISPATCH_LEVEL.
0x36 Текущий IRQL Номер спин-блокировки Старый IRQL Ядро выпустило очередь блокировки спина в очереди с IRQL, не равной DISPATCH_LEVEL.
0x37 Текущий IRQL Отключение счетчика APC потока Ресурс Драйвер попытался получить ресурс, но APC не отключаются.
0x38 Текущий IRQL Отключение счетчика APC потока Ресурс Драйвер попытался освободить ресурс, но APC не отключены.
0x39 Текущий IRQL Отключение счетчика APC потока Mutex Драйвер попытался получить мьютекс "небезопасный" с IRQL, не равным APC_LEVEL при входе.
0x3A Текущий IRQL Отключение счетчика APC потока Mutex Драйвер попытался освободить мьютекс "небезопасный" с IRQL, не равным APC_LEVEL при входе.
0x3B Текущий IRQL Объект для ожидания Параметр времени ожидания Подпрограмма KeWaitXxx вызывается в DISPATCH_LEVEL или выше.
0x3C Дескриптор, переданный в подпрограмму Тип объекта 0 Драйвер с именем ObReferenceObjectByHandle с неправильным дескриптором.
0x3D 0 0 Адрес недопустимого ресурса Драйвер передал недопустимый (неровный) ресурс в ExAcquireResourceExclusive.
0x3E 0 0 0 Драйвер с именем KeLeaveCriticalRegion для потока, который в настоящее время не находится в критическом регионе.
0x3F Адрес объекта Новое число ссылок на объект. -1: разыменовыватель вариант 1: ссылочный случай 0 Драйвер применил ObReferenceObject к объекту, у которого число ссылок равно нулю, или драйвер применил ObDereferenceObject к объекту с нулем.
0x40 Текущий IRQL Адрес спин-блокировки 0 Драйвер с именем KeAcquireSpinLockAtDpcLevel с DISPATCH_LEVEL IRQL < .
0x41 Текущий IRQL Адрес спин-блокировки 0 Драйвер с именем KeReleaseSpinLockFromDpcLevel с DISPATCH_LEVEL IRQL < .
0x42 Текущий IRQL Адрес спин-блокировки 0 Драйвер с именем KeAcquireSpinLock с DISPATCH_LEVEL IRQL > .
0x51 Базовый адрес выделения Адрес ссылки за пределами выделения Количество заряженных байтов Драйвер попытался освободить память после записи после завершения выделения. Ошибка, проверка с этим параметром, возникает только в том случае, если активен параметр Отслеживания пула средства проверки драйверов.
0x52 Базовый адрес выделения Запись хэша Количество заряженных байтов Драйвер попытался освободить память после записи после завершения выделения. Ошибка, проверка с этим параметром, возникает только в том случае, если активен параметр Отслеживания пула средства проверки драйверов.
0x53 Базовый адрес выделения Заголовок Зарезервировано Драйвер попытался освободить память после записи после завершения выделения. Ошибка, проверка с этим параметром, возникает только в том случае, если активен параметр Отслеживания пула средства проверки драйверов.
0x54 Базовый адрес выделения Зарезервировано Размер хэша пула Драйвер попытался освободить память после записи после завершения выделения. Ошибка, проверка с этим параметром, возникает только в том случае, если активен параметр Отслеживания пула средства проверки драйверов.
0x59 Базовый адрес выделения Listindex Зарезервировано Драйвер попытался освободить память после записи после завершения выделения. Ошибка, проверка с этим параметром, возникает только в том случае, если активен параметр Отслеживания пула средства проверки драйверов.
0x60 Байты, выделенные из страничного пула Байты, выделенные из непагрегированного пула Общее количество выделений, которые не были освобождены Драйвер выгружается без освобождения выделений пула. Ошибка, проверка с этим параметром, возникает только в том случае, если активен параметр Отслеживания пула средства проверки драйверов.
0x61 Байты, выделенные из страничного пула Байты, выделенные из непагрегированного пула Общее количество выделений, которые не были освобождены Поток драйвера пытается выделить память пула во время выгрузки драйвера. Ошибка, проверка с этим параметром, возникает только в том случае, если активен параметр Отслеживания пула средства проверки драйверов.
0x62 Имя драйвера Зарезервировано Общее количество выделений, которые не были освобождены, включая как страничный, так и невыгружаемый пул Драйвер выгружается без освобождения выделений пула. Ошибка, проверка с этим параметром, возникает только в том случае, если активен параметр Отслеживания пула средства проверки драйверов. Введите !verifier 3 drivername.sys для получения сведений о выделениях, которые были утечки, вызвавшие проверку ошибок.
0x6F Адрес MDL Блокировка физической страницы Самая высокая физическая страница в системе MmProbeAndLockPages вызывается на страницах, не в базе данных PFN. Обычно это драйвер, вызывающий эту процедуру, чтобы заблокировать собственную частную ОЗУ с двумя портами. Это не только не требуется, но и может привести к повреждению памяти на компьютерах с несмежным физическим ОЗУ.

0x70 к 0x91

Параметр 1 Параметр 2 Параметр 3 Параметр 4 Причина ошибки
0x70 Текущий IRQL Адрес MDL Режим доступа Драйвер с именем MmProbeAndLockPages с DISPATCH_LEVEL IRQL > .
0x71 Текущий IRQL Адрес MDL Адрес процесса Драйвер с именем MmProbeAndLockProcessPages с DISPATCH_LEVEL IRQL > .
0x72 Текущий IRQL Адрес MDL Адрес процесса Драйвер с именем MmProbeAndLockSelectedPages с DISPATCH_LEVEL IRQL > .
0x73 Текущий IRQL В 32-разрядной версии Windows: низкий 32-разрядный физический адрес В 64-разрядной версии Windows: 64-разрядный физический адрес Число байтов Драйвер с именем MmMapIoSpace с DISPATCH_LEVEL IRQL > .
0x74 Текущий IRQL Адрес MDL Режим доступа Драйвер с именем MmMapLockedPages в режиме ядра с DISPATCH_LEVEL IRQL > .
0x75 Текущий IRQL Адрес MDL Режим доступа Драйвер с именем MmMapLockedPages в пользовательском режиме с APC_LEVEL IRQL > .
0x76 Текущий IRQL Адрес MDL Режим доступа Драйвер с именем MmMapLockedPagesSpecifyCache в режиме ядра с DISPATCH_LEVEL IRQL > .
0x77 Текущий IRQL Адрес MDL Режим доступа Драйвер с именем MmMapLockedPagesSpecifyCache в пользовательском режиме с APC_LEVEL IRQL > .
0x78 Текущий IRQL Адрес MDL 0 Драйвер с именем MmUnlockPages с DISPATCH_LEVEL IRQL > .
0x79 Текущий IRQL Несопоставленный виртуальный адрес Адрес MDL Драйвер с именем MmUnmapLockedPages в режиме ядра с DISPATCH_LEVEL IRQL > .
0x7A Текущий IRQL Несопоставленный виртуальный адрес Адрес MDL Драйвер с именем MmUnmapLockedPages в пользовательском режиме с APC_LEVEL IRQL > .
0x7B Текущий IRQL Несопоставленный виртуальный адрес Число байтов Драйвер с именем MmUnmapIoSpace с APC_LEVEL IRQL > .
0x7C Адрес MDL Флаги MDL 0 Драйвер вызвал MmUnlockPages и передал MDL, страницы которого никогда не блокировались.
0x7D MDL-адрес Флаги MDL 0 Драйвер вызвал MmUnlockPages и передал MDL, страницы которого находятся из непагированного пула. (Их никогда не следует разблокировать.)
0x7E Текущий IRQL DISPATCH_LEVEL 0 Драйвер с именем MmAllocatePagesForMdl, MmAllocatePagesForMdlEx или MmFreePagesFromMdl с DISPATCH_LEVEL IRQL > .
0x7F Текущий IRQL MDL-адрес Флаги MDL Драйвер с именем BuildMdlForNonPagedPool передал MDL, страницы которого находятся из выгружаемого пула.
0x80 Текущий IRQL Адрес события 0 Драйвер с именем KeSetEvent с DISPATCH_LEVEL IRQL > .
0x81 MDL-адрес Флаги MDL 0 Драйвер с именем MmMapLockedPages. (Вместо этого следует использовать MmMapLockedPagesSpecifyCache с параметром BugCheckOnFailure, равным FALSE.)
0x82 MDL-адрес Флаги MDL 0 Драйвер с именем MmMapLockedPagesSpecifyCache с параметром BugCheckOnFailure, равным TRUE. (Этот параметр должен иметь значение FALSE.)
0x83 Начало физического диапазона адресов для сопоставления Число байтов для сопоставления Номер первого кадра страницы, который не заблокирован Драйвер с именем MmMapIoSpace не блокировал страницы MDL. Физические страницы, представленные сопоставляемым физическим диапазоном адресов, должны быть заблокированы перед выполнением этого вызова.
0x85 MDL-адрес Число страниц для сопоставления Номер первого кадра страницы, который не заблокирован Драйвер называется MmMapLockedPages без блокировки страниц MDL.
0x89 MDL-адрес Указатель на страницу, не относясь к памяти, в MDL Номер страницы, не относясь к памяти, в MDL MDL не помечается как "ввод-вывод", но содержит адреса страниц, не относящиеся к памяти.
0x91 Зарезервировано Зарезервировано Зарезервировано Драйвер переключает стеки с помощью метода, который не поддерживается операционной системой. Единственный поддерживаемый способ расширения стека режима ядра — использование KeExpandKernelStackAndCallout.

0xA0 0x140

Параметр 1 Параметр 2 Параметр 3 Параметр 4 Причина ошибки
0xA0 Указатель на IRP, выполняющего запрос на чтение или запись Объект устройства нижнего устройства Номер сектора, в котором обнаружена ошибка На жестком диске обнаружена ошибка циклической избыточности проверка (CRC). Ошибка, проверка с этим параметром, возникает только в том случае, если активен параметр Проверка целостности диска средства проверки драйверов.
0xA1 Копия IRP, выполняющего запрос на чтение или запись. (Фактический IRP завершен.) Объект устройства нижнего устройства Номер сектора, в котором обнаружена ошибка В секторе обнаружена ошибка CRC (асинхронно). Ошибка, проверка с этим параметром, возникает только в том случае, если активен параметр Проверка целостности диска средства проверки драйверов.
0xA2 IRP, создающий запрос на чтение или запись, или копия этого IRP Объект устройства нижнего устройства Номер сектора, в котором обнаружена ошибка Копии контрольной суммы CRCDISK не совпадают. Это может быть ошибка разбиения по страницам. Ошибка, проверка с этим параметром, возникает только в том случае, если активен параметр Проверка целостности диска средства проверки драйверов.
0xB0 MDL-адрес Флаги MDL Неправильные флаги MDL Драйвер с именем MmProbeAndLockPages для MDL с неправильными флагами. Например, драйвер передал MDL, созданный MmBuildMdlForNonPagedPool , в MmProbeAndLockPages.
0xB1 MDL-адрес Флаги MDL Неправильные флаги MDL Драйвер с именем MmProbeAndLockProcessPages для MDL с неправильными флагами. Например, драйвер передал MDL, созданный MmBuildMdlForNonPagedPool , в MmProbeAndLockProcessPages.
0xB2 MDL-адрес Флаги MDL Неправильные флаги MDL Драйвер с именем MmMapLockedPages для MDL с неправильными флагами. Например, драйвер передал MDL, который уже сопоставлен с системным адресом или который не был заблокирован для MmMapLockedPages.
0xB3 Адрес MDL Флаги MDL Отсутствуют флаги MDL (ожидалось по крайней мере один из них) Драйвер с именем MmMapLockedPages для MDL с неправильными флагами. Например, драйвер передал MDL, который не заблокирован в MmMapLockedPages.
0xB4 Адрес MDL Флаги MDL Непредвиденный флаг частичного MDL Драйвер с именем MmUnlockPages для частичного MDL. Частичный MDL — это файл, созданный IoBuildPartialMdl.
0xB5 Адрес MDL Флаги MDL Непредвиденный флаг частичного MDL MmUnmapLockedPages вызывается в частичном MDL (созданном с помощью IoBuildPartialMdl).
0xB6 Адрес MDL Флаги MDL Отсутствует флаг MDL MmUnmapLockedPages вызывается для MDL, не сопоставленного с системным адресом.
0xB7 Число физических страниц, поврежденных. Первая поврежденная физическая страница. Последняя поврежденная физическая страница. Bios системы повредил нехватку физической памяти во время перехода в спящий режим.
0xB8 Адрес MDL Флаги MDL Зарезервировано Страницы, описанные в MDL, по-прежнему сопоставляются. Драйвер должен отменить сопоставление страниц перед вызовом IoFreeMdl.
0xB9 Несопоставленный адрес. Адрес MDL. Зарезервировано MmUnmapLockedPages вызывается с неправильным адресом пользовательского пространства.
0xC0 Адрес IRP 0 Зарезервировано Драйвер с именем IoCallDriver с отключенными прерываниями.
0xC1 Адрес подпрограммы диспетчеризации драйвера Зарезервировано Зарезервировано Возвращена подпрограмма диспетчеризации драйвера с отключенными прерываниями.
0xC2 0 0 0 После отключения прерываний драйвер называется подпрограммой диспетчеризации быстрых операций ввода-вывода.
0xC3 Адрес процедуры диспетчеризации быстрого ввода-вывода драйвера Зарезервировано Зарезервировано Возвращена процедура диспетчеризации быстрого ввода-вывода драйвера с отключенными прерываниями.
0xC5 Адрес подпрограммы диспетчеризации драйвера Счетчик отключения APC текущего потока Счетчик отключения APC потока перед вызовом подпрограммы диспетчеризации драйвера Подпрограмма диспетчеризации драйвера изменила число отключений APC потока. Счетчик отключения APC уменьшается каждый раз, когда драйвер вызывает KeEnterCriticalRegion, FsRtlEnterFileSystem или получает мьютекс. Счетчик отключения APC увеличивается каждый раз, когда драйвер вызывает KeLeaveCriticalRegion, KeReleaseMutex или FsRtlExitFileSystem. Так как эти вызовы всегда должны быть парами, счетчик отключения APC должен быть равен нулю при каждом выходе из потока. Отрицательное значение указывает, что драйвер отключил вызовы APC без их повторного включения. Положительное значение указывает, что обратное имеет значение true.
0xC6 Адрес процедуры диспетчеризации быстрого ввода-вывода драйвера Счетчик отключения APC текущего потока APC потока отключает счетчик перед вызовом процедуры диспетчеризации драйвера быстрого ввода-вывода. Подпрограмма диспетчеризации быстрого ввода-вывода драйвера изменила число отключений APC потока. Счетчик отключения APC уменьшается каждый раз, когда драйвер вызывает KeEnterCriticalRegion, FsRtlEnterFileSystem или получает мьютекс. Счетчик отключения APC увеличивается каждый раз, когда драйвер вызывает KeLeaveCriticalRegion, KeReleaseMutex или FsRtlExitFileSystem. Так как эти вызовы всегда должны быть парами, счетчик отключения APC должен быть равен нулю при каждом выходе из потока. Отрицательное значение указывает, что драйвер отключил вызовы APC без их повторного включения. Положительное значение указывает, что обратное имеет значение true.
0xCA Адрес списка lookaside Зарезервировано Зарезервировано Драйвер попытался повторно инициализировать список lookaside.
0xCB Адрес списка lookaside Зарезервировано Зарезервировано Драйвер попытался удалить неинициализированный список lookaside.
0xCC Адрес списка lookaside Начальный адрес выделения пула Размер выделения пула Драйвер попытался освободить выделение пула, содержащее активный список lookaside.
0xCD Адрес списка lookaside Размер блока, указанный вызывающим объектом Минимальный поддерживаемый размер блока Драйвер попытался создать список lookaside с слишком маленьким размером блока выделения.
0xD0 Адрес структуры ERESOURCE Зарезервировано Зарезервировано Драйвер попытался повторно инициализировать структуру ERESOURCE.
0xD1 Адрес структуры ERESOURCE Зарезервировано Зарезервировано Драйвер попытался удалить неинициализированную структуру ERESOURCE.
0xD2 Адрес структуры ERESOURCE Начальный адрес выделения пула Размер выделения пула Драйвер попытался освободить выделение пула, содержащее активную структуру ERESOURCE.
0xD5 Адрес структуры IO_REMOVE_LOCK, созданной проверенной версией сборки драйвера Текущий тег IoReleaseRemoveLock Зарезервировано Текущий тег IoReleaseRemoveLock не соответствует предыдущему тегу IoAcquireRemoveLock . Если драйвер, вызывающий IoReleaseRemoveLock, не находится в проверенной сборке, параметр 2 — это адрес структуры теневого IO_REMOVE_LOCK, созданной средством проверки драйверов от имени драйвера. В этом случае адрес структуры IO_REMOVE_LOCK, используемой драйвером, не используется вообще, так как средство проверки драйверов заменяет адрес блокировки для всех API-интерфейсов удаления блокировки. Ошибка проверка с этим параметром возникает только в том случае, если активен параметр проверки ввода-вывода средства проверки драйверов.
0xD6 Адрес структуры IO_REMOVE_LOCK, созданной проверенной версией сборки драйвера Тег, не соответствующий предыдущему тегу IoAcquireRemoveLock Предыдущий тег IoAcquireRemoveLock Текущий тег IoReleaseRemoveLockAndWait не соответствует предыдущему тегу IoAcquireRemoveLock . Если драйвер, вызывающий IoReleaseRemoveLock , не является проверенной сборкой, параметр 2 — это адрес структуры теневого IO_REMOVE_LOCK, созданной средством проверки драйверов от имени драйвера. В этом случае адрес структуры IO_REMOVE_LOCK, используемой драйвером, не используется вообще, так как средство проверки драйверов заменяет адрес блокировки для всех API-интерфейсов удаления блокировки. Ошибка проверка с этим параметром возникает только в том случае, если активен параметр проверки ввода-вывода средства проверки драйверов.
0xD7 Адрес проверенной структуры удаления блокировки сборки, которая используется внутри средства проверки драйверов Адрес структуры удаления блокировки, указанной драйвером Зарезервировано Удалить блокировку нельзя повторно инициализировать даже после вызова IoReleaseRemoveLockAndWait, так как другие потоки могут по-прежнему использовать эту блокировку (путем вызова IoAcquireRemoveLock). Драйвер должен выделить параметр Remove Lock внутри расширения устройства и инициализировать его один раз. Блокировка будет удалена вместе с расширением устройства.
0xDA Начальный адрес драйвера Адрес обратного вызова WMI в драйвере Зарезервировано Предпринята попытка выгрузить драйвер, который не отменил регистрацию функции обратного вызова WMI.
0xDB Адрес объекта устройства Зарезервировано Зарезервировано Предпринята попытка удалить объект устройства, который не был отменен из WMI.
0xDC Зарезервировано Зарезервировано Зарезервировано В качестве параметра функции EtwUnregister указано недопустимое значение RegHandle.
0xDD Адрес вызова EtwRegister Начальный адрес драйвера для выгрузки Для Windows 8 и более поздних версий этот параметр является значением RegHandle трассировки событий Windows. Предпринята попытка выгрузить драйвер без вызова EtwUnregister.
0xDF Адрес объекта синхронизации 0 0 Объект синхронизации находится в адресном пространстве сеанса. Объекты синхронизации не допускаются в адресном пространстве сеанса, так как ими можно управлять из другого сеанса или из системных потоков, не имеющих виртуального адресного пространства сеанса.
0xE0 Адрес в пользовательском режиме, используемый в качестве параметра Размер диапазона адресов , используемого в качестве параметра , в байтах Зарезервировано Был выполнен вызов функции ядра операционной системы, которая указала адрес пользовательского режима в качестве параметра.
0xE1 Адрес объекта синхронизации Зарезервировано Зарезервировано Обнаружен недопустимый или доступный для страницы адрес объекта синхронизации.
0xE2 Адрес IRP Адрес в пользовательском режиме, присутствующий в IRP Зарезервировано Обнаружено, что адрес IRP с Irp-RequestorMode> имеет значение KernelMode в качестве одного из членов.
0xE3 Адрес вызова API Адрес в пользовательском режиме, используемый в качестве параметра в API Зарезервировано Драйвер сделал вызов подпрограммы ZwXxx в режиме ядра с адресом в пользовательском режиме в качестве параметра.
0xE4 Адрес вызова API Адрес структуры UNICODE_STRING с неправильным форматом Зарезервировано Драйвер сделал вызов подпрограммы ZwXxx в режиме ядра с неправильной структурой UNICODE_STRING в качестве параметра.
0xE5 Текущий IRQL Зарезервировано Зарезервировано Был выполнен вызов API ядра в неправильном IRQL.
0xE6 Адрес внутри драйвера, выполняющего вызов API Zw Текущий IRQL Специальные APC ядра. Api ядра Zw не вызывался в IRQL = PASSIVE_LEVEL и с включенными специальными APC ядра.
0xEA Текущий IRQL Счетчик отключения APC потока Адрес push-блокировки Драйвер попытался получить push-блокировку во время включения APC.
0xEB Текущий IRQL Счетчик отключения APC потока Адрес push-блокировки Драйвер попытался освободить push-блокировку во время включения APC.
0xF0 Адрес буфера назначения Адрес исходного буфера Число байтов для копирования Драйвер с именем функции memcpy с перекрывающимися буферами источника и назначения.
0xF5 Адрес дескриптора NULL Тип объекта Зарезервировано Драйвер передал дескриптор NULL в ObReferenceObjectByHandle.
0xF6 Дескриптор значения, на которое ссылается ссылка Адрес текущего процесса Адрес в драйвере, который выполняет неправильную ссылку Драйвер ссылается на дескриптор пользовательского режима как на режим ядра.
0xF7 Дескриптор значения, указанного вызывающим объектом Тип объекта, заданный вызывающим объектом AccessMode, заданный вызывающим объектом Драйвер пытается создать ссылку в пользовательском режиме для дескриптора ядра в контексте системного процесса.
0xFA Адрес подпрограммы завершения. Значение IRQL перед вызовом процедуры завершения Текущее значение IRQL после вызова процедуры завершения Подпрограмма завершения IRP возвращается в IRQL, отличающемся от IRQL, в который была вызвана подпрограмма.
0xFB Адрес подпрограммы завершения Счетчик отключения APC текущего потока APC потока отключает счетчик перед вызовом процедуры завершения IRP. Число отключений APC потока было изменено подпрограммой завершения IRP драйвера. Счетчик отключения APC уменьшается каждый раз, когда драйвер вызывает KeEnterCriticalRegion, FsRtlEnterFileSystem или получает мьютекс. Счетчик отключения APC увеличивается каждый раз, когда драйвер вызывает KeLeaveCriticalRegion, KeReleaseMutex или FsRtlExitFileSystem. Так как эти вызовы всегда должны быть парами, счетчик отключения APC должен быть равен нулю при каждом выходе из потока. Отрицательное значение указывает, что драйвер отключил вызовы APC без их повторного включения. Положительное значение указывает, что обратное имеет значение true.
0xFC Адрес внутри драйвера, выполняющего неправильный вызов API. Указано значение ApcContext. Зарезервировано Вызов ZwNotifyChangeKey (из режима ядра) с неподдерживаемого значения ApcContext.

0x105 в 0x140

Параметр 1 Параметр 2 Параметр 3 Параметр 4 Причина ошибки
0x105 Адрес IRP 0 0 Драйвер использует ExFreePool вместо IoFreeIrp, чтобы освободить IRP.
0x10A 0 0 0 Драйвер пытается списать квоту пула для процесса простоя.
0x10B 0 0 0 Драйвер пытается списать квоту пула из подпрограммы DPC. Это неправильно, так как текущий контекст процесса не определен.
0x110 Адрес подпрограммы службы прерывания Адрес расширенного контекста, который был сохранен до выполнения ISR Адрес расширенного контекста был сохранен после выполнения ISR Подпрограмма службы прерываний (ISR) для драйвера повредила контекст расширенного потока.
0x111 Адрес подпрограммы службы прерывания IRQL перед выполнением ISR IRQL после выполнения ISR Прерывание служебной подпрограммы вернуло измененный IRQL.
0x115 Адрес потока, ответственного за завершение работы, который может быть взаимоблокирован. 0 0 Средство проверки драйверов обнаружило, что работа системы занимает более 20 минут и завершение работы не завершено.
0x11A Текущий IRQL 0 0 Драйвер вызывает KeEnterCriticalRegion на APC_LEVEL IRQL > .
0x11B Текущий IRQL 0 0 Драйвер вызывает KeLeaveCriticalRegion на APC_LEVEL IRQL > .
0x120 Адрес значения IRQL Адрес объекта для ожидания Адрес значения времени ожидания Поток ожидает на DISPATCH_LEVEL IRQL > . Вызывающие объекты KeWaitForSingleObject или KeWaitForMultipleObjects должны выполняться по адресу IRQL <= DISPATCH_LEVEL.
0x121 Адрес значения IRQL Адрес объекта для ожидания Адрес значения времени ожидания Поток ожидает в IRQL равно DISPATCH_LEVEL, а время ожидания равно NULL. Вызывающие объекты KeWaitForSingleObject или KeWaitForMultipleObjects могут выполняться в IRQL <= DISPATCH_LEVEL. Если для параметра Timeout указан указатель NULL, вызывающий поток остается в состоянии ожидания, пока не будет передан сигнал объекту .
0x122 Адрес значения IRQL Адрес объекта для ожидания Адрес значения времени ожидания Поток ожидает DISPATCH_LEVEL и время ожидания не равно нулю (0). Если значение Timeout != 0, вызывающие объекты KeWaitForSingleObject или KeWaitForMultipleObjects должны выполняться в IRQL <= APC_LEVEL.
0x123 Адрес объекта для ожидания 0 0 Вызывающий объект KeWaitForSingleObject или KeWaitForMultipleObjects указал ожидание как UserMode, но объект находится в стеке ядра.
0x130 Адрес рабочего элемента 0 0 Рабочий элемент находится в адресном пространстве сеанса. Рабочие элементы не допускаются в адресном пространстве сеанса, так как ими можно управлять из другого сеанса или из системных потоков, не имеющих виртуального адресного пространства сеанса.
0x131 Адрес рабочего элемента 0 0 Рабочий элемент находится в доступной для страниц памяти. Рабочие элементы должны находиться в памяти, неизменяемой для страниц, так как ядро использует их на DISPATCH_LEVEL.
0x135 Адрес IRP Допустимое количество миллисекунд между вызовом IoCancelIrp и завершением для этого IRP 0 Отмененная IRP не была завершена в ожидаемое время. Драйверу потребовалось больше времени, чем ожидалось, чтобы завершить отмененную IRP.
0x13A Адрес освобождаемого блока пула Неверное значение Адрес неправильного значения Драйвер вызвал ExFreePool , а средство проверки драйверов обнаруживает ошибку в одном из внутренних значений, используемых для отслеживания использования пула.
0x13B Адрес освобождаемого блока пула Адрес неправильного значения Адрес указателя на неправильную страницу памяти Драйвер вызвал ExFreePool , а средство проверки драйверов обнаруживает ошибку в одном из внутренних значений, используемых для отслеживания использования пула.
0x13C Адрес освобождаемого блока пула Неверное значение Адрес неправильного значения Драйвер вызвал ExFreePool , а средство проверки драйверов обнаруживает ошибку в одном из внутренних значений, используемых для отслеживания использования пула.
0x13D Адрес освобождаемого блока пула Адрес неправильного значения Правильное ожидаемое значение Драйвер вызвал ExFreePool , а средство проверки драйверов обнаруживает ошибку в одном из внутренних значений, используемых для отслеживания использования пула.
0x13E Адрес блока пула, указанный вызывающим объектом Адрес блока пула, отслеживаемый средством проверки драйверов Указатель на адрес блока пула, отслеживаемый средством проверки драйверов Адрес блока пула, указанный вызывающим объектом ExFreePool , отличается от адреса, отслеживаемого средством проверки драйверов.
0x13F Адрес освобождаемого блока пула Число освобождаемых байтов Указатель на количество байтов, отслеживаемых средством проверки драйверов Количество байтов памяти, освобождаемых при вызове ExFreePool , отличается от количества байтов, отслеживаемых средством проверки драйверов.
0x140 Текущий IRQL Адрес MDL Связанный виртуальный адрес с этим MDL Неблокированный MDL был создан из страничной или торгуемой памяти.
0x141 Максимальный физический адрес, запрошенный драйвером для выделения Количество выделенных байтов 0 Драйвер явно запрашивает объем физической памяти в 4 ГБ.

0x1000 в 0x100B — взаимоблокировки

Параметр 1 Параметр 2 Параметр 3 Параметр 4 Причина ошибки
0x1000 Адрес ресурса Зарезервировано Зарезервировано Самостоятельная взаимоблокировка. Текущий поток попытался рекурсивно и исключительно получить ресурс, которым он владеет только совместно. Ошибка проверка с этим параметром возникает только в том случае, если активен параметр Обнаружение взаимоблокировки средства проверки драйверов.
0x1001 Адрес ресурса, который стал последней причиной взаимоблокировки Зарезервировано Зарезервировано Взаимоблокировка: обнаружено нарушение иерархии блокировок. Ошибка проверка с этим параметром возникает только в том случае, если активен параметр Обнаружение взаимоблокировки средства проверки драйверов. (Для получения дополнительных сведений используйте расширение !deadlock .)
0x1002 Адрес ресурса Зарезервировано Зарезервировано Неинициализированный ресурс. Ресурс был получен без инициализации. Ошибка проверка с этим параметром возникает только в том случае, если активен параметр Обнаружение взаимоблокировки средства проверки драйверов.
0x1003 Адрес ресурса, который освобождается взаимоблокировкой Адрес ресурса, который должен был быть освобожден первым Зарезервировано Непредвиденный выпуск. Ресурс был освобожден в неправильном порядке. Ошибка проверка с этим параметром возникает только в том случае, если активен параметр Обнаружение взаимоблокировки средства проверки драйверов.
0x1004 Адрес ресурса Адрес потока, который получил ресурс Адрес текущего потока Непредвиденный поток. Неправильный поток освобождает ресурс. Ошибка проверка с этим параметром возникает только в том случае, если активен параметр Обнаружение взаимоблокировки средства проверки драйверов.
0x1005 Адрес ресурса Зарезервировано Зарезервировано Множественная инициализация. Ресурс инициализируется несколько раз. Ошибка проверка с этим параметром возникает только в том случае, если активен параметр Обнаружение взаимоблокировки средства проверки драйверов.
0x1007 Адрес ресурса Зарезервировано Зарезервировано Не запрошенный ресурс. Ресурс освобождается до его приобретения. Ошибка проверка с этим параметром возникает только в том случае, если активен параметр Обнаружение взаимоблокировки средства проверки драйверов.
0x1008 Адрес блокировки Зарезервировано Зарезервировано Драйвер пытался получить блокировку с помощью API, который не соответствует этому типу блокировки.
0x1009 Адрес блокировки Зарезервировано Зарезервировано Драйвер попытался освободить блокировку с помощью API, который не соответствует этому типу блокировки.
0x100A Адрес потока владельца Зарезервировано Завершенный поток владеет блокировкой.
0x100B Адрес блокировки Адрес потока владельца Зарезервировано Удаленная блокировка по-прежнему принадлежит потоку.
0x1010 Объект устройства, которому был выдан IRP записи. Адрес IRP. System-Space виртуальный адрес для буфера, описываемого MDL. Изменено инвариантное содержимое буфера MDL для записи Irp.
0x1011 Объект устройства, которому был выдан IRP записи. Адрес IRP. System-Space виртуальный адрес для буфера, описываемого MDL. Инвариантное содержимое буфера MDL для read Irp было изменено во время отправки или буфера, поддерживаемого фиктивными страницами.
0x1012 Указатель на строку, описывающую нарушение. Данные, участвующие в этом повреждении (0, если они не используются). Данные, участвующие в этом повреждении (0, если они не используются). Обнаружено повреждение хранилища состояния расширения проверки.
0x1013 Указатель на объект драйвера. Указатель на захваченные исходные обратные вызовы ввода-вывода. Зарезервировано (неиспользуемое). Средство проверки обнаружило внутреннее повреждение в захваченных исходных обратных вызовах ввода-вывода.

0x2000 в 0x2005 — проблемы с целостностью кода

Параметр 1 Параметр 2 Параметр 3 Параметр 4 Причина ошибки
0x2000 Адрес в коде драйвера, где была обнаружена ошибка. Тип пула. Тег пула (если он указан). Проблема целостности кода. Вызывающий объект указал тип пула исполняемых файлов. (Ожидается: NonPagedPoolNx)
0x2001 Адрес в коде драйвера, где была обнаружена ошибка. Защита страниц (WIN32_PROTECTION_MASK). 0 Проблема целостности кода. Вызывающий объект указал защиту исполняемой страницы. (Ожидается: очищенные биты PAGE_EXECUTE*)
0x2002 Адрес в коде драйвера, где была обнаружена ошибка. Приоритет страницы (MM_PAGE_PRIORITY логически или с MdlMapping*). 0 Проблема целостности кода. Вызывающий объект указал сопоставление MDL исполняемого файла. (Ожидается: MdlMappingNoExecute)
0x2003 Имя файла изображения (строка Юникода). Адрес заголовка раздела. Имя раздела (строка в кодировке UTF-8). Проблема целостности кода. Изображение содержит исполняемый и записываемый раздел.
0x2004 Имя файла изображения (строка Юникода). Адрес заголовка раздела. Имя раздела (строка в кодировке UTF-8). Проблема целостности кода. Изображение содержит раздел, который не выровнен по страницам.
0x2005 Имя файла изображения (строка Юникода). Каталог IAT. Имя раздела (строка в кодировке UTF-8). Проблема целостности кода. Образ содержит IAT, расположенный в исполняемом разделе.

0xA001 на 0xA00D — проблемы с переключением виртуальной машины

Параметр 1 Параметр 2 Параметр 3 Параметр 4 Причина ошибки
0xA001 Указатель на объект NetBufferList Указатель на объект виртуального коммутатора (если значение NON-NULL) Зарезервировано (неиспользуемое) Переключатель виртуальной машины. Необходимо задать SourceHandle для предоставленного вызывающим абонентом NetBufferList. См. подпрограмму AllocateNetBufferListForwardingContext .
0xA002 Указатель на объект NetBufferList Указатель на объект виртуального коммутатора (если не равно NULL). Зарезервировано (неиспользуемое) Коммутатор виртуальной машины. Вызывающий объект предоставил сведения о переадресации NetBufferList не равны нулю. См. подпрограмму AllocateNetBufferListForwardingContext .
0xA003 Указатель на объект NetBufferList Указатель на объект виртуального коммутатора (если не равно NULL). Зарезервировано (неиспользуемое) Коммутатор виртуальной машины. Вызывающий объект предоставил NetBufferList с заголовком пакета или контекстом маршрутизации, который имеет значение NULL. Ознакомьтесь с рекомендациями по управлению пакетами для пути к данным расширяемого коммутатора.
0xA004 Идентификатор недопустимого порта Индекс сетевой карты Указатель на объект виртуального коммутатора (если не равно NULL). Коммутатор виртуальной машины. Вызывающий объект указал недопустимое сочетание портов и индекса сетевой карты. См. статью Состояния порта расширяемого коммутатора Hyper-V и сетевого адаптера.
0xA005 Указатель на объект NetBufferList Указатель на список назначения. Указатель на объект виртуального коммутатора (если не равно NULL). Переключение виртуальной машины. Вызывающий объект предоставил недопустимое назначение. См . разделы AddNetBufferListDestination и UpdateNetBufferListDestinations.
0xA006 Указатель на объект NetBufferList Указатель на объект виртуального коммутатора (если не равно NULL). Зарезервировано (неиспользуемое) Переключение виртуальной машины. Вызывающий объект предоставил недопустимый исходный сетевой адаптер или объект порта. См. статью Состояния порта расширяемого коммутатора Hyper-V и сетевого адаптера.
0xA007 Указатель на объект NetBufferList Указатель на объект виртуального коммутатора (если не равно NULL). Зарезервировано (неиспользуемое) Переключение виртуальной машины. Вызывающий объект предоставил недопустимый список назначений. См . разделы AddNetBufferListDestination и UpdateNetBufferListDestinations.
0xA008 Родительский объект сетевой карты Индекс сетевой карты Указатель на объект виртуального коммутатора (если не равно NULL). Переключение виртуальной машины: попытка сослаться на сетевой адаптер, если это не разрешено. См. статью Состояния порта расширяемого коммутатора Hyper-V и сетевого адаптера.
0xA009 Порт, на который ссылается ссылка Указатель на объект виртуального коммутатора (если значение NON-NULL) Зарезервировано (неиспользуемое) Переключение виртуальной машины: попытка сослаться на порт, если это не разрешено. См. статью Состояния порта расширяемого коммутатора Hyper-V и сетевого адаптера.
0xA00A Указатель на объект NetBufferList Объект ContextTypeInfo Зарезервировано (неиспользуемое) Переключение виртуальной машины: контекст сбоя уже задан. См . раздел SetNetBufferListSwitchContext.
0xA00B Указатель на объект NetBufferList NDIS_SWITCH_REPORT_FILTERED_NBL_FLAGS_* Указатель на объект виртуального коммутатора (если значение NON-NULL) Переключатель виртуальной машины: для удаленного списка NetBufferList указано недопустимое направление. См . раздел ReportFilteredNetBufferLists.
0xA00C Указатель на объект NetBufferList Значение флагов отправки Указатель на объект виртуального коммутатора (если значение NON-NULL) Коммутатор виртуальной машины. Если установлен флаг NDIS_SEND_FLAGS_SWITCH_SINGLE_SOURCE, цепочка NetBufferList имеет несколько исходных портов. См. раздел Флаги отправки и получения расширяемого коммутатора Hyper-V.
0xA00D Указатель на объект NetBufferList Указатель на контекст виртуального коммутатора Указатель на объект виртуального коммутатора (если значение NON-NULL) Коммутатор виртуальной машины: один или несколько списков NetBufferLists в цепочке имеют недопустимое назначение, если установлен флаг NDIS_RECEIVE_FLAGS_SWITCH_DESTINATION_GROUP. См. раздел Флаги отправки и получения расширяемого коммутатора Hyper-V.
0xA00E Указатель на объект NetBufferLists. Указатель на контекст виртуального коммутатора. Указатель на объект виртуального коммутатора (если не равно NULL). Переключение виртуальной машины: попытка завершить NetBufferList через WNV при установке флага VMS_NBL_ROUTING_CONTEXT_FLAG_NO_WNV_PROCESSING.

0x00020002 к 0x00020022 — нарушения правил соответствия требованиям DDI

Параметр 1 Параметр 2 Параметр 3 Параметр 4 Причина ошибки
0x00020002 Указатель на строку, описывающую условие нарушенного правила. Необязательный указатель на переменные состояния правила. Зарезервировано Драйвер нарушил правило соответствия DDI IrqlApcLte. Правило указывает, что драйвер должен вызывать ObGetObjectSecurity и ObReleaseObjectSecurity только в том случае, если IRQL <= APC_LEVEL.
0x00020003 Указатель на строку, описывающую условие нарушенного правила. Необязательный указатель на переменные состояния правила. Зарезервировано Драйвер нарушил правило соответствия DDI IrqlDispatch. Правило IrqlDispatch указывает, что драйвер должен вызывать определенные подпрограммы, только если IRQL = DISPATCH_LEVEL
0x00020004 Указатель на строку, описывающую условие нарушенного правила. Необязательный указатель на переменные состояния правила. Зарезервировано Драйвер нарушил правило соответствия DDI IrqlExAllocatePool. Правило IrqlExAllocatePool указывает, что драйвер вызывает ExAllocatePoolWithTag и ExAllocatePoolWithTagPriority только при значении IRQL<=DISPATCH_LEVEL.
0x00020005 Указатель на строку, описывающую условие нарушенного правила. Необязательный указатель на переменные состояния правила. Зарезервировано Драйвер нарушил правило соответствия DDI IrqlExApcLte1. Правило IrqlExApcLte1 указывает, что драйвер вызывает ExAcquireFastMutex и ExTryToAcquireFastMutex только в irQL <= APC_LEVEL.
0x00020006 Указатель на строку, описывающую условие нарушенного правила. Необязательный указатель на переменные состояния правила. Зарезервировано Драйвер нарушил правило соответствия DDI IrqlExApcLte2. Правило IrqlExApcLte2 указывает, что драйвер вызывает определенные подпрограммы, только если IRQL <= APC_LEVEL.
0x00020007 Указатель на строку, описывающую условие нарушенного правила. Необязательный указатель на переменные состояния правила. Зарезервировано Драйвер нарушил правило соответствия DDI IrqlExApcLte3. Правило IrqlExApcLte3 указывает, что драйвер должен вызывать определенные подпрограммы поддержки руководителей, только если IRQL <= APC_LEVEL.
0x00020008 Указатель на строку, описывающую условие нарушенного правила. Необязательный указатель на переменные состояния правила. Зарезервировано Драйвер нарушил правило соответствия DDI IrqlExPassive. Правило IrqlExPassive указывает, что драйвер должен вызывать определенные процедуры поддержки руководителей, только если IRQL = PASSIVE_LEVEL.
0x00020009 Указатель на строку, описывающую условие нарушенного правила. Необязательный указатель на переменные состояния правила. Зарезервировано Драйвер нарушил правило соответствия DDI IrqlIoApcLte. Правило IrqlIoApcLte указывает, что драйвер должен вызывать определенные подпрограммы диспетчера ввода-вывода, только если IRQL <= APC_LEVEL.
0x0002000A Указатель на строку, описывающую условие нарушенного правила. Необязательный указатель на переменные состояния правила. Зарезервировано Драйвер нарушил правило соответствия DDI IrqlIoPassive1. Правило IrqlIoPassive1 указывает, что драйвер должен вызывать определенные подпрограммы диспетчера ввода-вывода, только если IRQL = PASSIVE_LEVEL.
0x0002000B Указатель на строку, описывающую условие нарушенного правила. Необязательный указатель на переменные состояния правила. Зарезервировано Драйвер нарушил правило соответствия DDI IrqlIoPassive2. Правило IrqlIoPassive2 указывает, что драйвер должен вызывать определенные подпрограммы диспетчера ввода-вывода, только если IRQL = PASSIVE_LEVEL.
0x0002000C Указатель на строку, описывающую условие нарушенного правила. Необязательный указатель на переменные состояния правила. Зарезервировано Драйвер нарушил правило соответствия DDI IrqlIoPassive3. Правило IrqlIoPassive3 указывает, что драйвер должен вызывать определенные подпрограммы диспетчера ввода-вывода, только если IRQL = PASSIVE_LEVEL.
0x0002000D Указатель на строку, описывающую условие нарушенного правила. Необязательный указатель на переменные состояния правила. Зарезервировано Драйвер нарушил правило соответствия DDI IrqlIoPassive4. Правило IrqlIoPassive4 указывает, что драйвер должен вызывать определенные подпрограммы диспетчера ввода-вывода, только если IRQL = PASSIVE_LEVEL.
0x0002000E Указатель на строку, описывающую условие нарушенного правила. Необязательный указатель на переменные состояния правила. Зарезервировано Драйвер нарушил правило соответствия DDI IrqlIoPassive5. Правило IrqlIoPassive5 указывает, что драйвер должен вызывать определенные подпрограммы диспетчера ввода-вывода, только если IRQL = PASSIVE_LEVEL.
0x0002000F Указатель на строку, описывающую условие нарушенного правила. Необязательный указатель на переменные состояния правила. Зарезервировано Драйвер нарушил правило соответствия DDI IrqlKeApcLte1. Правило IrqlKeApcLte1 указывает, что драйвер должен вызывать определенные подпрограммы ядра, только если IRQL <= APC_LEVEL.
0x00020010 Указатель на строку, описывающую условие нарушенного правила. Необязательный указатель на переменные состояния правила. Зарезервировано Драйвер нарушил правило соответствия DDI IrqlKeApcLte2. Правило IrqlKeApcLte2 указывает, что драйвер должен вызывать определенные подпрограммы ядра, только если IRQL <= APC_LEVEL.
0x00020011 Указатель на строку, описывающую условие нарушенного правила. Необязательный указатель на переменные состояния правила. Зарезервировано Драйвер нарушил правило соответствия DDI IrqlKeDispatchLte. Правило IrqlKeDispatchLte указывает, что драйвер должен вызывать определенные подпрограммы ядра, только если IRQL <= DISPATCH_LEVEL.
0x00020015 Указатель на строку, описывающую условие нарушенного правила. Необязательный указатель на переменные состояния правила. Зарезервировано Драйвер нарушил правило соответствия DDI IrqlKeReleaseSpinLock. Правило IrqlKeReleaseSpinLock указывает, что драйвер должен вызывать KeReleaseSpinLock, только если IRQL = DISPATCH_LEVEL.
0x00020016 Указатель на строку, описывающую условие нарушенного правила. Необязательный указатель на переменные состояния правила. Зарезервировано Драйвер нарушил правило соответствия DDI IrqlKeSetEvent. Правило IrqlKeSetEvent указывает, что подпрограмма KeSetEvent вызывается только в среде IRQL <= DISPATCH_LEVEL, если параметр Wait имеет значение FALSE, и в параметре IRQL <= APC_LEVEL, если параметр Wait имеет значение TRUE.
0x00020019 Указатель на строку, описывающую условие нарушенного правила. Необязательный указатель на переменные состояния правила. Зарезервировано Драйвер нарушил правило соответствия DDI IrqlMmApcLte. Правило IrqlMmApcLte указывает, что драйвер должен вызывать определенные подпрограммы диспетчера памяти, только если IRQL <= APC_LEVEL.
0x0002001A Указатель на строку, описывающую условие нарушенного правила. Необязательный указатель на переменные состояния правила. Зарезервировано Драйвер нарушил правило соответствия DDI IrqlMmDispatch. Правило IrqlMmDispatch указывает, что драйвер должен вызывать MmFreeContiguousMemory , только если IRQL = DISPATCH_LEVEL.
0x0002001B Указатель на строку, описывающую условие нарушенного правила. Необязательный указатель на переменные состояния правила. Зарезервировано Драйвер нарушил правило соответствия DDI IrqlObPassive. Правило IrqlObPassive указывает, что драйвер должен вызывать ObReferenceObjectByHandle , только если IRQL = PASSIVE_LEVEL.
0x0002001C Указатель на строку, описывающую условие нарушенного правила. Необязательный указатель на переменные состояния правила. Зарезервировано Драйвер нарушил правило соответствия DDI IrqlPsPassive. Правило IrqlPsPassive указывает, что драйвер должен вызывать определенные процедуры диспетчера процессов и потоков, только если IRQL = PASSIVE_LEVEL.
0x0002001D Указатель на строку, описывающую условие нарушенного правила. Адрес внутреннего состояния правила (второй аргумент для !ruleinfo). Адрес дополнительных состояний (третий аргумент для !ruleinfo). Драйвер нарушил правило соответствия DDI IrqlReturn.
0x0002001E Указатель на строку, описывающую условие нарушенного правила. Необязательный указатель на переменные состояния правила. Зарезервировано Драйвер нарушил правило соответствия DDI IrqlRtlPassive. Правило IrqlRtlPassive указывает, что драйвер должен вызывать RtlDeleteRegistryValue , только если IRQL = PASSIVE_LEVEL.
0x0002001F Указатель на строку, описывающую условие нарушенного правила. Необязательный указатель на переменные состояния правила. Зарезервировано Драйвер нарушил правило соответствия DDI IrqlZwPassive. Правило IrqlZwPassive указывает, что драйвер должен вызывать ZwClose только в том случае, если IRQL = PASSIVE_LEVEL.
0x00020022 Указатель на строку, описывающую условие нарушенного правила. Зарезервировано (неиспользуемое) Зарезервировано (неиспользуемое) Драйвер нарушил правило соответствия DDI IrqlIoDispatch.
0x00020023 Указатель на строку, описывающую условие нарушенного правила. Зарезервировано (неиспользуемое). Зарезервировано (неиспользуемое). Драйвер нарушил правило соответствия DDI IrqlIoRtlZwPassive. Правило IrqlIoRtlZwPassive указывает, что драйвер вызывает DDIs, перечисленные в правиле, только если он выполняется в irQL = PASSIVE_LEVEL.
0x00020024 Указатель на строку, описывающую условие нарушенного правила. Зарезервировано (неиспользуемое). Зарезервировано (неиспользуемое). Драйвер нарушил правило соответствия DDI IrqlNtifsApcPassive. Правило IrqlNtifsApcPassive указывает, что драйвер вызывает DDIs, перечисленные в правиле, только если он выполняется в IRQL = PASSIVE_LEVEL или в IRQL <= APC_LEVEL.
0x00020025 Указатель на строку, описывающую условие нарушенного правила. Зарезервировано (неиспользуемое). Зарезервировано (неиспользуемое). Драйвер нарушил внутреннее правило соответствия DDI Майкрософт IrqlKeMore.

0x00040003 к 0x00043006 — нарушения правил соответствия требованиям DDI

Параметр 1 Параметр 2 Параметр 3 Параметр 4 Причина ошибки
0x00040003 Указатель на строку, описывающую условие нарушенного правила. Адрес внутреннего состояния правила (второй аргумент для !ruleinfo). Адрес дополнительных состояний (третий аргумент для !ruleinfo). Драйвер нарушил правило соответствия DDI CriticalRegions.
0x00040006 Указатель на строку, описывающую условие нарушенного правила. Адрес внутреннего состояния правила (второй аргумент для !ruleinfo). Адрес дополнительных состояний (третий аргумент для !ruleinfo). Драйвер нарушил правило соответствия DDI QueuedSpinLock.
0x00040007 Указатель на строку, описывающую условие нарушенного правила. Адрес внутреннего состояния правила (второй аргумент для !ruleinfo). Адрес дополнительных состояний (третий аргумент для !ruleinfo). Драйвер нарушил правило соответствия DDI QueuedSpinLockRelease.
0x00040009 Указатель на строку, описывающую условие нарушенного правила. Адрес внутреннего состояния правила (второй аргумент для !ruleinfo). Адрес дополнительных состояний (третий аргумент для !ruleinfo). Драйвер нарушил правило соответствия DDI SpinLock.
0x0004000A Указатель на строку, описывающую условие нарушенного правила. Адрес внутреннего состояния правила (второй аргумент для !ruleinfo) Адрес дополнительных состояний (третий аргумент для !ruleinfo). Драйвер нарушил правило соответствия DDI SpinlockRelease.
0x0004000E Указатель на строку, описывающую условие нарушенного правила. Адрес внутреннего состояния правила (второй аргумент для !ruleinfo). Адрес дополнительных состояний (третий аргумент для !ruleinfo). Драйвер нарушил правило соответствия DDI GuardedRegions.
0x0004100B Указатель на строку, описывающую условие нарушенного правила. Зарезервировано (неиспользуемое) Зарезервировано (неиспользуемое) Драйвер нарушил правило соответствия DDI RequestedPowerIrp.
0x0004100F Указатель на строку, описывающую условие нарушенного правила. Адрес внутреннего состояния правила (второй аргумент для !ruleinfo). Адрес дополнительных состояний (третий аргумент для !ruleinfo). Драйвер нарушил правило соответствия требованиям DDI IoSetCompletionExCompleteIrp.
0x00043006 Указатель на строку, описывающую условие нарушенного правила. Зарезервировано (неиспользуемое) Зарезервировано (неиспользуемое) Драйвер нарушил правило соответствия DDI PnpRemove.

0x00081001 0x00082005 — нарушения правил соответствия драйверов AVStream

Параметр 1 Параметр 2 Параметр 3 Параметр 4 Причина ошибки
0x00081001 Указатель на строку, описывающую условие нарушенного правила. Адрес внутреннего состояния правила (второй аргумент для !ruleinfo). Адрес дополнительных состояний (третий аргумент для !ruleinfo). Драйвер нарушил правило соответствия DDI KsDeviceMutex.
0x00081002 Указатель на строку, описывающую условие нарушенного правила. Адрес внутреннего состояния правила (второй аргумент для !ruleinfo). Адрес дополнительных состояний (третий аргумент для !ruleinfo). Драйвер нарушил правило соответствия DDI KsStreamPointerClone.
0x00081003 Указатель на строку, описывающую условие нарушенного правила. Зарезервировано (неиспользуемое) Зарезервировано (неиспользуемое) Драйвер нарушил правило соответствия DDI KsStreamPointerLock.
0x00081004 Указатель на строку, описывающую условие нарушенного правила. Адрес внутреннего состояния правила (второй аргумент для !ruleinfo). Адрес дополнительных состояний (третий аргумент для !ruleinfo). Драйвер нарушил правило соответствия DDI KsStreamPointerUnlock.
0x00081005 Указатель на строку, описывающую условие нарушенного правила. Зарезервировано (неиспользуемое) Зарезервировано (неиспользуемое) Драйвер нарушил правило соответствия DDI KsCallbackReturn.
0x00081006 Указатель на строку, описывающую условие нарушенного правила. Адрес внутреннего состояния правила (второй аргумент для !ruleinfo). Адрес дополнительных состояний (третий аргумент для !ruleinfo). Драйвер нарушил правило соответствия DDI KsIrqlDeviceCallbacks.
0x00081007 Указатель на строку, описывающую условие нарушенного правила. Адрес внутреннего состояния правила (второй аргумент для !ruleinfo). Адрес дополнительных состояний (третий аргумент для !ruleinfo). Драйвер нарушил правило соответствия DDI KsIrqlFilterCallbacks.
0x00081008 Указатель на строку, описывающую условие нарушенного правила. Адрес внутреннего состояния правила (второй аргумент для !ruleinfo). Адрес дополнительных состояний (третий аргумент для !ruleinfo). Драйвер нарушил правило соответствия DDI KsIrqlPinCallbacks.
0x00081009 Указатель на строку, описывающую условие нарушенного правила. Зарезервировано (неиспользуемое) Зарезервировано (неиспользуемое) Драйвер нарушил правило соответствия DDI KsIrqlDDIs.
0x0008100A Указатель на строку, описывающую условие нарушенного правила. Адрес внутреннего состояния правила (второй аргумент для !ruleinfo). Адрес дополнительных состояний (третий аргумент для !ruleinfo). Драйвер нарушил правило соответствия DDI KsFilterMutex.
0x0008100B Указатель на строку, описывающую условие нарушенного правила. Адрес внутреннего состояния правила (второй аргумент для !ruleinfo). Адрес дополнительных состояний (третий аргумент для !ruleinfo). Драйвер нарушил правило соответствия DDI KsProcessingMutex.
0x0008100C Указатель на строку, описывающую условие нарушенного правила. Адрес внутреннего состояния правила (второй аргумент для !ruleinfo). Адрес дополнительных состояний (третий аргумент для !ruleinfo). Драйвер нарушил правило соответствия DDI KsInvalidStreamPointer.
0x00082001 Указатель на строку, описывающую условие нарушенного правила. Адрес внутреннего состояния правила (второй аргумент для !ruleinfo). Адрес дополнительных состояний (третий аргумент для !ruleinfo). Драйвер нарушил правило соответствия DDI KsTimedPinSetDeviceState.
0x00082002 Указатель на строку, описывающую условие нарушенного правила. Адрес внутреннего состояния правила (второй аргумент для !ruleinfo). Адрес дополнительных состояний (третий аргумент для !ruleinfo). Драйвер нарушил правило соответствия DDI KsTimedDeviceCallbacks.
0x00082003 Указатель на строку, описывающую условие нарушенного правила. Адрес внутреннего состояния правила (второй аргумент для !ruleinfo). Адрес дополнительных состояний (третий аргумент в !ruleinfo). Драйвер нарушил правило соответствия DDI KsTimedFilterCallbacks.
0x00082004 Указатель на строку, описывающую условие нарушенного правила. Адрес внутреннего состояния правила (второй аргумент в !ruleinfo). Адрес дополнительных состояний (третий аргумент в !ruleinfo). Драйвер нарушил правило соответствия DDI KsTimedPinCallbacks.
0x00082005 Указатель на строку, описывающую условие нарушенного правила. Адрес внутреннего состояния правила (второй аргумент в !ruleinfo). Адрес дополнительных состояний (третий аргумент в !ruleinfo). Драйвер нарушил правило соответствия DDI KsTimedProcessingMutex.

0x00091001 на 0x0009400C — нарушения правил соответствия требованиям NDIS DDI

Параметр 1 Параметр 2 Параметр 3 Параметр 4 Причина ошибки
0x00091001 Указатель на строку, описывающую условие нарушенного правила. Адрес внутреннего состояния правила (второй аргумент в !ruleinfo). Адрес дополнительных состояний (третий аргумент в !ruleinfo). Драйвер нарушил правило соответствия DDI NdisOidComplete.
0x00091002 Указатель на строку, описывающую условие нарушенного правила. Адрес внутреннего состояния правила (второй аргумент в !ruleinfo). Адрес дополнительных состояний (третий аргумент в !ruleinfo). Драйвер нарушил правило соответствия DDI NdisOidDoubleComplete.
0x0009100E Указатель на строку, описывающую условие нарушенного правила. Адрес внутреннего состояния правила (второй аргумент в !ruleinfo). Адрес дополнительных состояний (третий аргумент в !ruleinfo). Драйвер нарушил правило соответствия DDI NdisOidDoubleRequest.
0x00092003 Указатель на строку, описывающую условие нарушенного правила. Адрес внутреннего состояния правила (второй аргумент в !ruleinfo). Адрес дополнительных состояний (третий аргумент в !ruleinfo). Водитель нарушил правило проверки NDIS/WIFI NdisTimedOidComplete.
0x0009200D Указатель на строку, описывающую условие нарушенного правила. Адрес внутреннего состояния правила (второй аргумент в !ruleinfo). Адрес дополнительных состояний (третий аргумент в !ruleinfo). Драйвер нарушил правило проверки NDIS/WIFI NdisTimedDataSend.
0x0009200F Указатель на строку, описывающую условие нарушенного правила. Адрес внутреннего состояния правила (второй аргумент в !ruleinfo). Адрес дополнительных состояний (третий аргумент в !ruleinfo). Водитель нарушил правило проверки NDIS/WIFI NdisTimedDataHang.
0x00092010 Указатель на строку, описывающую условие нарушенного правила. Адрес внутреннего состояния правила (второй аргумент в !ruleinfo). Адрес дополнительных состояний (третий аргумент в !ruleinfo). Водитель нарушил правило проверки NDIS/WIFI NdisFilterTimedPauseComplete.
0x00092011 Указатель на строку, описывающую условие нарушенного правила. Адрес внутреннего состояния правила (второй аргумент в !ruleinfo). Адрес дополнительных состояний (третий аргумент в !ruleinfo). Водитель нарушил правило проверки NDIS/WIFI NdisFilterTimedDataSend.
0x00092012 Указатель на строку, описывающую условие нарушенного правила. Адрес внутреннего состояния правила (второй аргумент в !ruleinfo). Адрес дополнительных состояний (третий аргумент в !ruleinfo). Водитель нарушил правило проверки NDIS/WIFI NdisFilterTimedDataReceive.
0x00093004 Указатель на строку, описывающую условие нарушенного правила. Адрес внутреннего состояния правила (второй аргумент в !ruleinfo). Адрес дополнительных состояний (третий аргумент в !ruleinfo). Водитель нарушил правило проверки NDIS/WIFI WlanAssociation.
0x00093005 Указатель на строку, описывающую условие нарушенного правила. Адрес внутреннего состояния правила (второй аргумент в !ruleinfo). Адрес дополнительных состояний (третий аргумент в !ruleinfo). Водитель нарушил правило проверки NDIS/WIFI WlanConnectionRoaming.
0x00093006 Указатель на строку, описывающую условие нарушенного правила. Адрес внутреннего состояния правила (второй аргумент в !ruleinfo). Адрес дополнительных состояний (третий аргумент в !ruleinfo). Водитель нарушил правило проверки NDIS/WIFI WlanDisassociation.
0x00093101 Указатель на строку, описывающую нарушенное условие правила. Зарезервировано (неиспользуемое) Зарезервировано (неиспользуемое) Водитель нарушил правило проверки NDIS/WIFI WlanAssert.
0x00094007 Указатель на строку, описывающую условие нарушенного правила. Адрес внутреннего состояния правила (второй аргумент в !ruleinfo). Адрес дополнительных состояний (третий аргумент в !ruleinfo). Водитель нарушил правило проверки NDIS/WIFI WlanTimedAssociation.
0x00094008 Указатель на строку, описывающую условие нарушенного правила. Адрес внутреннего состояния правила (второй аргумент в !ruleinfo). Адрес дополнительных состояний (третий аргумент в !ruleinfo). Водитель нарушил правило проверки NDIS/WIFI WlanTimedConnectionRoaming.
0x00094009 Указатель на строку, описывающую условие нарушенного правила. Адрес внутреннего состояния правила (второй аргумент в !ruleinfo). Адрес дополнительных состояний (третий аргумент в !ruleinfo). Драйвер нарушил правило проверки NDIS/WIFI WlanTimedConnectRequest.
0x0009400B Указатель на строку, описывающую условие нарушенного правила. Адрес внутреннего состояния правила (второй аргумент в !ruleinfo). Адрес дополнительных состояний (третий аргумент в !ruleinfo). Водитель нарушил правило проверки NDIS/WIFI WlanTimedLinkQuality.
0x0009400C Указатель на строку, описывающую условие нарушенного правила. Адрес внутреннего состояния правила (второй аргумент в !ruleinfo). Адрес дополнительных состояний (третий аргумент в !ruleinfo). Водитель нарушил правило проверки NDIS/WIFI WlanTimedScan.

Причина

Описание причины см. в описании каждого кода в разделе Параметры. Дополнительные сведения можно получить с помощью расширения !analyze -v .

Решение

Эта ошибка проверка может возникнуть только в том случае, если средство проверки драйверов было проинструктировано отслеживать один или несколько драйверов. Если вы не планируете использовать средство проверки драйверов, его следует отключить. Вы также можете удалить драйвер, который вызвал эту проблему.

Если вы являетесь модулем записи драйверов, используйте сведения, полученные с помощью этой проверка, чтобы исправить ошибки в коде.

Полные сведения о средствах проверки драйверов см. в разделе Средство проверки драйверов.

Комментарии

Коды _POOL_TYPE перечислены в ntddk.h. В частности, 0 (ноль) указывает на невыгружаемый пул, а 1 (один) — на выгружаемый пул.

(Windows 8 и более поздних версий Windows) Если проверка соответствия DDI вызывает проверка ошибок, запустите средство проверки статических драйверов в исходном коде драйвера и укажите правило соответствия DDI (идентифицируемое значением параметра 1), которое вызвало ошибку проверка. Средство проверки статических драйверов помогает определить причину проблемы в исходном коде.

См. также

Обработка проверки ошибок при включении средства проверки драйверов