备注

_POOL_TYPE 代码在 Ntddk.h 中枚举。
特别是,0(零)表示非分页池,1(一)表示分页池。

(Windows 8 和更高版本的 Windows)如果 DDI 合规性检查导致错误检查,请对驱动程序源代码运行静态驱动程序验证程序并指定导致错误检查的 DDI 合规性规则(由参数 1 值标识)。

静态驱动程序验证程序可以在源代码中找到问题的原因。

Windows 蓝屏代码 0xC4:DRIVER_VERIFIER_DETECTED_VIOLATION

DRIVER_VERIFIER_DETECTED_VIOLATION 错误检查的值为 0x000000C4.
这是 Driver Verifier 发现的致命错误的一般错误检查代码。
有关更多信息,请参阅在启用驱动程序验证程序时处理错误检查。

原因

有关原因说明,请参阅参数部分中每个代码的说明。
可以使用 !analyze -v 扩展获得更多信息。

on  It Road.com

解决方法

仅当 Driver Verifier 被指示监控一个或者多个驱动程序时,才会发生此错误检查。
如果我们不打算使用 Driver Verifier,则应停用它。
我们也可以考虑删除导致此问题的驱动程序。

如果我们是驱动程序编写者,请使用通过此错误检查获得的信息来修复代码中的错误。

有关驱动程序验证程序的完整详细信息,请参阅驱动程序验证程序。

DRIVER_VERIFIER_DETECTED_VIOLATION 参数

参数 1 标识违规类型。
其余参数的含义随参数1的值而变化。
参数值说明如下表。

注意 如果我们在查看此表中的所有 5 列时遇到问题,请尝试以下操作:

  • 将浏览器窗口扩展到全尺寸。
  • 将光标置于表格中并使用箭头键左右滚动。

0x00 到 0x70

参数 1参数 2参数 3参数 4错误原因
0x00当前 IRQL池类型字节数驱动程序请求零字节池分配。
0x01当前 IRQL池类型分配大小,以字节为单位驱动程序尝试使用 IRQL > APC_LEVEL 分配分页内存。
0x02当前 IRQL池类型分配大小,以字节为单位驱动程序尝试使用 IRQL > DISPATCH_LEVEL 分配非分页内存。
0x03调用者试图分配多于一页的 must success 池,但一页是此 API 允许的最大值。
0x10Bad Address00驱动程序试图释放未从分配调用返回的地址。
0x11当前 IRQL池类型 池地址驱动程序尝试使用 IRQL > APC_LEVEL 释放分页池。
0x12当前 IRQL池类型 池地址驱动程序尝试使用 IRQL > DISPATCH_LEVEL 释放非分页池。
0x13 or 0x14保留指向池头池头内容的指针驱动程序试图释放已经释放的内存池。
0x15定时器入口池类型池地址被释放调用者试图释放的池包含一个活动计时器。
0x16保留池地址0驱动程序试图在错误地址释放池,或者驱动程序将无效参数传递给内存例程。
0X17资源条目池类型正在释放的池地址调用者试图释放的池包含一个活动的 ERESOURCE。
0x30当前 IRQL请求的 IRQL0驱动程序将无效参数传递给 KeRaiseIrql。(参数或者是低于当前 IRQL 的值,或者是高于 HIGH_LEVEL 的值。这可能是使用未初始化参数的结果。)
0x31当前 IRQL请求的 IRQL0:新的 IRQL 是坏的 1:新的 IRQL 在内部无效DPC例程驱动程序将无效参数传递给 KeLowerIrql。(该参数或者是高于当前 IRQL 的值,或者是高于 HIGH_LEVEL 的值。这可能是使用未初始化参数的结果。)
0x32当前 IRQL自旋锁地址0驱动程序在 DISPATCH_LEVEL 以外的 IRQL 上调用 KeReleaseSpinLock。(这可能是由于自旋锁的双重释放。)
0x33当前 IRQL快速互斥地址0驱动程序尝试使用 IRQL > APC_LEVEL 获取快速互斥。
0x34当前 IRQL线程 APC 禁用计数快速互斥地址驱动程序试图以 APC_LEVEL 以外的 IRQL 释放快速互斥。
0x35当前 IRQL自旋锁地址旧 IRQL内核释放了一个 IRQL 不等于 DISPATCH_LEVEL 的自旋锁。
0x36当前 IRQL自旋锁编号旧 IRQL内核释放了一个排队自旋锁,其 IRQL 不等于 DISPATCH_LEVEL。
0x37当前 IRQL线程 APC 禁用计数资源驱动程序尝试获取资源,但 APC 未被禁用。
0x38当前 IRQL线程 APC 禁用计数资源驱动程序试图释放资源,但 APC 未被禁用。
0x39当前 IRQL线程 APC 禁用计数互斥驱动程序试图获取一个互斥“不安全”,其 IRQL 不等于 APC_LEVEL 进入。
0x3A当前 IRQL线程 APC 禁用计数互斥驱动程序试图在进入时释放一个不等于 APC_LEVEL 的 IRQL 的互斥锁“不安全”。
0x3B当前要等待的IRQL对象超时参数KeWaitXxx 例程正在 DISPATCH_LEVEL 或者更高级别调用。
0x3C传递给例程对象类型0的句柄 驱动程序调用 ObReferenceObjectByHandle 带有错误句柄。
0x3D00错误资源的地址驱动程序将错误(未对齐)资源传递给 ExAcquireResourceExclusive。
0x3E000驱动程序为当前不在临界区中的线程调用 KeLeaveCriticalRegion。
0x3F对象地址新对象引用计数。-1:取消引用情况 1:引用情况0驱动程序将 ObReferenceObject 应用于引用计数为零的对象,或者驱动程序将 ObDereferenceObject 应用于引用计数为零的对象。
0x40当前 IRQL自旋锁地址0驱动程序调用 KeAcquireSpinLockAtDpcLevel,IRQL < DISPATCH_LEVEL。
0x41当前 IRQL自旋锁地址0驱动程序调用 KeReleaseSpinLockFromDpcLevel,IRQL < DISPATCH_LEVEL。
0x42当前 IRQL自旋锁地址0驱动程序使用 IRQL > DISPATCH_LEVEL 调用 KeAcquireSpinLock。
0x51分配的基地址超出分配的引用地址收费字节数驱动程序在写入超过分配末尾后尝试释放内存。仅当驱动程序验证程序的池跟踪选项处于活动状态时,才会使用此参数进行错误检查。
0x52分配的基地址哈希条目收费字节数驱动程序在写入超过分配末尾后尝试释放内存。仅当驱动程序验证程序的池跟踪选项处于活动状态时,才会使用此参数进行错误检查。
0x53分配的基地址Header保留驱动程序在写入超过分配末尾后尝试释放内存。仅当 Driver Verifier 的 Pool Tracking 选项处于活动状态时,才会使用此参数进行错误检查。
0x54分配的基地址保留池散列大小驱动程序在写入超过分配末尾后尝试释放内存。仅当 Driver Verifier 的 Pool Tracking 选项处于活动状态时,才会使用此参数进行错误检查。
0x59Base address of allocationListindex保留驱动程序在写入超过分配末尾后尝试释放内存。仅当驱动程序验证程序的池跟踪选项处于活动状态时,才会使用此参数进行错误检查。
0x60从分页池分配的字节数从非分页池分配的字节数 未释放的分配总数驱动程序卸载时未先释放其池分配。仅当驱动程序验证程序的池跟踪选项处于活动状态时,才会使用此参数进行错误检查。
0x61从分页池分配的字节数从非分页池分配的字节数 未释放的分配总数驱动程序线程正在尝试在卸载驱动程序时分配池内存。仅当驱动程序验证程序的池跟踪选项处于活动状态时,才会使用此参数进行错误检查。
0x62驱动程序名称保留未释放的分配总数,包括分页池和非分页池驱动程序在没有首先释放其池分配的情况下卸载。仅当驱动程序验证程序的池跟踪选项处于活动状态时,才会使用此参数进行错误检查。键入 !verifier 3 drivername.sys 以获取有关泄漏导致错误检查的分配的信息。
0x6FMDL 地址被锁定的物理页面 系统中的最高物理页面MmProbeAndLockPages 调用不在 PFN 数据库中的页面。这通常是驱动程序调用此例程来锁定其自己的私有双端口 内存。这不仅不是必需的,它还会破坏具有非连续物理 内存 的机器上的内存。

0x70 到 0x91

参数 1参数2参数3参数4错误原因
0x70当前IRQLMDL 地址访问方式驱动程序使用 IRQL > DISPATCH_LEVEL 调用 MmProbeAndLockPages。
0x71当前 IRQLMDL 地址进程地址驱动程序调用 MmProbeAndLockProcessPages 与 IRQL > DISPATCH_LEVEL。
0x72当前 IRQLMDL 地址进程地址驱动程序使用 IRQL > DISPATCH_LEVEL 调用 MmProbeAndLockSelectedPages。
0x73当前 IRQL在 32 位 Windows 中:物理地址的低 32 位 在 64 位 Windows 中:64 位物理地址字节数驱动程序使用 IRQL > DISPATCH_LEVEL 调用 MmMapIoSpace。
0x74当前IRQLMDL地址访问模式驱动在内核模式下调用MmMapLockedPages,IRQL > DISPATCH_LEVEL。
0x75当前IRQLMDL地址访问模式驱动在用户模式下调用MmMapLockedPages,IRQL > APC_LEVEL。
0x76当前IRQLMDL地址访问模式驱动在内核模式下调用MmMapLockedPagesSpecifyCache IRQL > DISPATCH_LEVEL。
0x77当前 IRQLMDL 地址访问模式驱动在用户模式下调用 MmMapLockedPagesSpecifyCache IRQL > APC_LEVEL。
0x78当前 IRQLMDL 地址0驱动程序使用 IRQL > DISPATCH_LEVEL 调用 MmUnlockPages。
0x79当前 IRQL虚拟地址未映射MDL 地址驱动程序在内核模式下调用 MmUnmapLockedPages,IRQL > DISPATCH_LEVEL。
0x7A当前 IRQL虚拟地址未映射MDL 地址驱动程序在用户模式下调用 MmUnmapLockedPages,IRQL > APC_LEVEL。
0x7B当前 IRQL未映射的虚拟地址字节数驱动程序使用 IRQL > APC_LEVEL 调用 MmUnmapIoSpace。
0x7CMDL 地址MDL 标志0驱动程序调用了 MmUnlockPages,并传递了一个其页面从未成功锁定的 MDL。
0x7DMDL 地址MDL 标志0驱动程序调用了 MmUnlockPages,并传递了一个 MDL,其页面来自非分页池。(这些永远不应该被解锁。)
0x7E当前 IRQLDISPATCH_LEVEL0驱动程序调用 MmAllocatePagesForMdl、MmAllocatePagesForMdlEx 或者 MmFreePagesFromMdl,IRQL > DISPATCH_LEVEL。
0x7F当前 IRQLMDL 地址MDL 标志驱动程序调用 BuildMdlForNonPagedPool 并传递一个 MDL,其页面来自分页池。
0x80当前 IRQL事件地址0驱动程序使用 IRQL > DISPATCH_LEVEL 调用 KeSetEvent。
0x81MDL 地址MDL 标志0驱动程序称为 MmMapLockedPages。(我们应该改用 MmMapLockedPagesSpecifyCache,并将 BugCheckOnFailure 参数设置为 FALSE。)
0x82MDL 地址MDL 标志0驱动程序调用 MmMapLockedPagesSpecifyCache,其中 BugCheckOnFailure 参数等于 TRUE。(此参数应设置为 FALSE。)
0x83要映射的物理地址范围的开始 要映射的字节数 未锁定的第一个页面帧编号驱动程序调用 MmMapIoSpace 时未锁定 MDL 页。由被映射的物理地址范围表示的物理页必须在进行此调用之前已锁定。
0x85MDL 地址要映射的页数未锁定的第一页框架编号驱动程序在没有锁定 MDL 页面的情况下调用了 MmMapLockedPages。
0x89MDL address指向MDL中非内存页的指针 MDL 中的非内存页号MDL 没有标记为“I/O”,但它包含非内存页地址。
0x91保留保留保留驱动程序使用操作系统不支持的方法切换堆栈。唯一支持的扩展内核模式堆栈的方法是使用 KeExpandKernelStackAndCallout。

0XA0到0x140

参数 1参数 2参数 3参数 4错误原因
0xA0指向发出读或者写请求的 IRP 的指针下层设备的设备对象检测到错误的扇区号在硬盘上检测到循环冗余校验 (CRC) 错误。仅当驱动程序验证程序的磁盘完整性检查选项处于活动状态时,才会使用此参数进行错误检查。
0xA1发出读或者写请求的 IRP 的副本。(实际的 IRP 已经完成。) 下位设备的设备对象检测到错误的扇区号 在一个扇区上检测到CRC 错误(异步)。仅当驱动程序验证程序的磁盘完整性检查选项处于活动状态时,才会使用此参数进行错误检查。
0xA2发出读或者写请求的 IRP,或者较低设备的此 IRP设备对象的副本检测到错误的扇区编号CRCDISK 校验和副本不匹配。这可能是一个分页错误。仅当驱动程序验证程序的磁盘完整性检查选项处于活动状态时,才会使用此参数进行错误检查。
0xB0MDL 地址MDL 标志不正确的 MDL 标志驱动程序为带有不正确标志的 MDL 调用 MmProbeAndLockPages。例如,驱动程序将 MmBuildMdlForNonPagedPool 创建的 MDL 传递给 MmProbeAndLockPages。
0xB1MDL 地址MDL 标志不正确的 MDL 标志驱动程序为带有不正确标志的 MDL 调用 MmProbeAndLockProcessPages。例如,驱动程序将 MmBuildMdlForNonPagedPool 创建的 MDL 传递给 MmProbeAndLockProcessPages。
0xB2MDL 地址MDL 标志不正确的 MDL 标志驱动程序为带有错误标志的 MDL 调用 MmMapLockedPages。例如,驱动程序传递了一个已映射到系统地址或者未锁定到 MmMapLockedPages 的 MDL。
0xB3MDL 地址MDL 标志缺少 MDL 标志(至少有一个是预期的)驱动程序为带有错误标志的 MDL 调用了 MmMapLockedPages。例如,驱动程序传递了一个未锁定到 MmMapLockedPages 的 MDL。
0xB4MDL 地址MDL 标志意外的部分 MDL 标志驱动程序为部分 MDL 调用了 MmUnlockPages。部分 MDL 是由 IoBuildPartialMdl 创建的。
0xB5MDL 地址MDL 标志意外的部分 MDL 标志MmUnmapLockedPages 在部分 MDL(用 IoBuildPartialMdl 创建)上调用。
0xB6MDL 地址MDL 标志缺少 MDL 标志MmUnmapLockedPages 在未映射到系统地址的 MDL 上调用。
0xB7损坏的物理页数。第一个损坏的物理页。最后损坏的物理页。系统 BIOS 在睡眠转换期间损坏了低物理内存。
0xB8MDL 地址MDL flags保留 MDL描述的页面仍然被映射。驱动程序必须在调用 IoFreeMdl 之前取消页面映射。
0xB9地址被取消映射。MDL 地址。使用错误的用户空间地址调用了保留的MmUnmapLockedPages。
0xC0IRP 的地址0保留驱动程序调用 IoCallDriver 并禁用中断。
0xC1驱动程序调度例程的地址保留保留一个驱动程序调度例程在中断被禁用的情况下返回。
0xC2000中断被禁用后,驱动程序调用了快速 I/O 调度例程。
0xC3驱动程序快速 I/O 分派例程的地址保留保留驱动程序快速 I/O 分派例程在中断禁用的情况下返回。
0xC5驱动程序分派例程的地址当前线程的 APC 禁用计数 在调用驱动程序分派例程之前线程的 APC 禁用计数驱动程序调度例程已更改线程的 APC 禁用计数。每次驱动程序调用 KeEnterCriticalRegion、FsRtlEnterFileSystem 或者获取互斥锁时,APC 禁用计数都会递减。每次驱动程序调用 KeLeaveCriticalRegion、KeReleaseMutex 或者 FsRtlExitFileSystem 时,APC 禁用计数都会增加。因为这些调用应该总是成对的,所以每当一个线程退出时,APC 禁用计数应该为零。负值表示驱动程序已禁用 APC 调用而未重新启用它们。正值表示反之亦然。
0xC6驱动程序的地址 Fast I/O 分派例程当前线程的 APC 禁用计数 在调用 Fast I/O 驱动程序分派例程之前线程的 APC 禁用计数驱动程序快速 I/O 调度例程已更改线程的 APC 禁用计数。每次驱动程序调用 KeEnterCriticalRegion、FsRtlEnterFileSystem 或者获取互斥锁时,APC 禁用计数都会递减。每次驱动程序调用 KeLeaveCriticalRegion、KeReleaseMutex 或者 FsRtlExitFileSystem 时,APC 禁用计数都会增加。因为这些调用应该总是成对的,所以每当一个线程退出时,APC 禁用计数应该为零。负值表示驱动程序已禁用 APC 调用而未重新启用它们。正值表示反之亦然。
0xCA后备列表的地址保留保留驱动程序试图重新初始化后备列表。
0xCB后备列表地址保留保留驱动程序已尝试删除未初始化的后备列表。
0xCC后备列表的地址 池分配的起始地址 池分配的大小驱动程序试图释放包含活动后备列表的池分配。
0xCD后备列表的地址调用者指定的块大小 支持的最小块大小驱动程序试图创建分配块大小过小的后备列表。
0xD0ERESOURCE 结构的地址保留保留驱动程序试图重新初始化 ERESOURCE 结构。
0xD1ERESOURCE 结构的地址保留保留驱动程序试图删除未初始化的 ERESOURCE 结构。
0xD2ERESOURCE 结构的地址 池分配的起始地址 池分配的大小驱动程序试图释放包含活动 ERESOURCE 结构的池分配。
0xD5由已检查的驱动程序构建版本创建的 IO_REMOVE_LOCK 结构的地址Current IoReleaseRemoveLock tag保留当前 IoReleaseRemoveLock 标签与之前的 IoAcquireRemoveLock 标签不匹配。如果调用 IoReleaseRemoveLock 的驱动程序不在检查版本中,则参数 2 是驱动程序验证程序代表驱动程序创建的影子 IO_REMOVE_LOCK 结构的地址。在这种情况下,驱动程序使用的 IO_REMOVE_LOCK 结构的地址根本没有使用,因为 Driver Verifier 正在替换所有移除锁 API 的锁地址。仅当 Driver Verifier 的 I/O Verification 选项处于活动状态时,才会使用此参数进行错误检查。
0xD6由驱动的检查构建版本创建的 IO_REMOVE_LOCK 结构的地址与先前的 IoAcquireRemoveLock 标签不匹配的标签先前的 IoAcquireRemoveLock 标签当前的 IoReleaseRemoveLockAndWait 标签与先前的 IoAcquireRemoveLock 标签不匹配。如果调用 IoReleaseRemoveLock 的驱动程序不是经过检查的构建,则参数 2 是 Driver Verifier 代表驱动程序创建的影子 IO_REMOVE_LOCK 结构的地址。在这种情况下,驱动程序使用的 IO_REMOVE_LOCK 结构的地址根本没有使用,因为 Driver Verifier 正在替换所有移除锁 API 的锁地址。仅当 Driver Verifier 的 I/O Verification 选项处于活动状态时,才会使用此参数进行错误检查。
0xD7Driver Verifier 内部使用的已检查构建 Remove Lock 结构的地址驱动程序指定的 Remove Lock 结构的地址保留A Remove Lock 不能重新初始化,即使在它调用 IoReleaseRemoveLockAndWait 之后,因为其他线程可能仍在使用该锁(通过调用 IoAcquireRemoveLock)。驱动程序应在其设备扩展中分配 Remove Lock,并对其进行一次初始化。锁将与设备扩展一起删除。
0xDA驱动程序内部的驱动程序WMI 回调地址的起始地址保留尝试卸载尚未注销其 WMI 回调函数的驱动程序。保留
0xDB设备对象的地址保留 已尝试删除未从 WMI 取消注册的设备对象。保留保留保留
0xDC将无效的 RegHandle 值指定为函数 EtwUnregister 的参数。调用 EtwRegister 的地址 卸载驱动的起始地址对于 Windows 8 及更高版本,该参数为 ETW RegHandle 值。
0xDD试图在不调用 EtwUnregister 的情况下卸载驱动程序。同步对象地址00
0xDF同步对象在会话地址空间中。会话地址空间中不允许使用同步对象,因为它们可以从另一个会话或者没有会话虚拟地址空间的系统线程中进行操作。用作参数的用户模式地址用作参数的地址范围的大小(以字节为单位)保留
0xE0对操作系统内核函数进行了调用,该函数将用户模式地址指定为参数。同步对象的地址保留保留
0xE1发现同步对象的地址无效或者可分页。IRP的地址保留
0xE2在 IRP 中的用户模式地址 发现 Irp->RequestorMode 设置为 KernelMode 的 IRP 将用户模式地址作为其成员之一。调用 API的地址 用户模式地址用作 API保留中的参数
0xE3驱动程序以用户模式地址作为参数调用了内核模式 ZwXxx 例程。对 API 的调用地址 格式错误的 UNICODE_STRING 结构的地址保留
0xE4驱动程序已调用内核模式 ZwXxx 例程,并将格式错误的 UNICODE_STRING 结构作为参数。当前 IRQL保留保留
0xE5以不正确的 IRQL 调用内核 API。使 Zw API 调用当前 IRQL特殊内核 APC的驱动程序内部的地址。
0xE6未在 IRQL = PASSIVE_LEVEL 调用内核 Zw API,并且启用了特殊的内核 APC。当前 IRQL线程的 APC 禁用计数pushlock 的地址
0xEA驱动程序试图在启用 APC 时获取推锁。当前 IRQL线程的 APC 禁用计数推锁
0xEB的地址驱动程序试图在启用 APC 时释放推锁。目标缓冲区的地址 源缓冲区的地址要复制的字节数
0xF0具有重叠源缓冲区和目标缓冲区的称为 memcpy 函数的驱动程序。NULL 句柄的地址对象类型已保留
0xF5驱动程序将 NULL 句柄传递给 ObReferenceObjectByHandle。被引用的句柄值当前进程的地址执行不正确引用
0xF6的驱动程序内部的地址驱动程序将用户模式句柄引用为内核模式。调用者指定的句柄值调用者指定的对象类型 调用者指定的 AccessMode
0xF7驱动程序正在尝试对系统进程上下文中的内核句柄进行用户模式引用。完成例程地址。调用完成例程之前的 IRQL 值 调用完成例程之后的当前 IRQL 值
0xFAIRP 完成例程返回的 IRQL 与调用该例程的 IRQL 不同。完成例程地址当前线程的 APC 禁用计数线程在调用 IRP 完成例程之前的 APC 禁用计数
0xFB驱动程序的 IRP 完成例程更改了线程的 APC 禁用计数。每次驱动程序调用 KeEnterCriticalRegion、FsRtlEnterFileSystem 或者获取互斥锁时,APC 禁用计数都会递减。每次驱动程序调用 KeLeaveCriticalRegion、KeReleaseMutex 或者 FsRtlExitFileSystem 时,APC 禁用计数都会增加。因为这些调用应该总是成对的,所以每当一个线程退出时,APC 禁用计数应该为零。负值表示驱动程序已禁用 APC 调用而未重新启用它们。正值表示反之亦然。驱动程序内部进行不正确的 API 调用的地址。提供了 ApcContext 值。保留
0xFC使用不受支持的 ApcContext 值调用 ZwNotifyChangeKey(从内核模式)。参数 2参数 3参数 4

0x105到0x140

参数 1错误原因IRP 地址00
0x105驱动程序使用 ExFreePool 而不是 IoFreeIrp 来释放 IRP。000
0x10A驱动程序尝试向空闲进程收取池配额。000
0x10B驱动程序尝试从 DPC 例程中收取池配额。这是不正确的,因为当前进程上下文未定义。中断服务例程的地址 在执行 ISR 之前保存的扩展上下文的地址 在执行 ISR 之后保存了扩展上下文的地址
0x110驱动程序的中断服务例程 (ISR) 损坏了扩展线程上下文。执行 ISR后执行 ISR IRQL 之前的中断服务程序IRQL 的地址中断服务程序返回更改的 IRQL。
0x111负责关闭的线程的地址,可能会死锁。00驱动程序验证程序检测到系统用时超过 20 分钟并且关闭未完成。
0x115当前 IRQL00驱动程序在 IRQL > APC_LEVEL 调用 KeEnterCriticalRegion。
0x11A当前 IRQL00驱动程序在 IRQL > APC_LEVEL 调用 KeLeaveCriticalRegion。
0x11BIRQL 值的地址 要等待的对象的地址 超时值的地址线程在 IRQL > DISPATCH_LEVEL 处等待。KeWaitForSingleObject 或者 KeWaitForMultipleObjects 的调用者必须以 IRQL <= DISPATCH_LEVEL 运行。
0x120IRQL 值的地址 要等待的对象的地址 超时值的地址线程在 IRQL 处等待等于 DISPATCH_LEVEL,超时为 NULL。KeWaitForSingleObject 或者 KeWaitForMultipleObjects 的调用者可以以 IRQL <= DISPATCH_LEVEL 运行。如果为 Timeout 提供了 NULL 指针,则调用线程将保持等待状态,直到对象收到信号。
0x121IRQL 值的地址要等待的对象的地址Timeout 值的地址线程在 DISPATCH_LEVEL 等待并且 Timeout 值不等于零 (0)。如果 Timeout != 0,KeWaitForSingleObject 或者 KeWaitForMultipleObjects 的调用者必须以 IRQL <= APC_LEVEL 运行。
0x122要等待的对象的地址00KeWaitForSingleObject 或者 KeWaitForMultipleObjects 的调用者将等待指定为 UserMode,但对象在内核堆栈上。
0x123工作项的地址00工作项在会话地址空间中。会话地址空间中不允许工作项,因为它们可以从另一个会话或者没有会话虚拟地址空间的系统线程中操作。
0x130工作项地址00工作项在可分页内存中。工作项必须在不可分页的内存中,因为内核在 DISPATCH_LEVEL 使用它们。
0x131IRP 的地址IoCancelIrp 调用和此 IRP 的完成之间允许的毫秒数0取消的 IRP 没有在预期的时间内完成 驱动程序花费的时间比预期的长来完成取消的 IRP。
0x135正在释放的池块的地址 不正确的值不正确值的地址驱动程序调用了 ExFreePool 并且驱动程序验证程序检测到用于跟踪池使用情况的内部值之一中的错误。
0x13A被释放的池块的地址 错误值的地址 指向错误内存页的指针地址驱动程序调用了 ExFreePool 并且驱动程序验证程序检测到用于跟踪池使用情况的内部值之一中的错误。
0x13B正在释放的池块的地址 不正确的值不正确值的地址驱动程序调用了 ExFreePool 并且驱动程序验证程序检测到用于跟踪池使用情况的内部值之一中的错误。
0x13C正在释放的池块的地址 错误值的地址正确的预期值驱动程序已调用 ExFreePool 并且驱动程序验证程序检测到用于跟踪池使用情况的内部值之一中的错误。
0x13D调用者指定的池块地址 Driver Verifier 跟踪的池块地址指向Driver Verifier 跟踪的池块地址的指针ExFreePool 的调用者指定的池块地址与Driver Verifier 跟踪的地址不同。
0x13E正在释放的池块的地址 正在释放的字节数指向 Driver Verifier 跟踪的字节数的指针在调用 ExFreePool 时释放的内存字节数与 Driver Verifier 跟踪的字节数不同。
0x13F当前 IRQLMDL 地址与此 MDL 相关联的虚拟地址非锁定 MDL 是从可分页或者可交易内存构造的。
0x140驱动程序请求分配的最高物理地址 要分配的字节数0驱动程序明确请求低于 4GB 的物理内存。
0x141参数 2参数 3参数 4错误原因保留 保留

为0x1000到0x100B -死锁

参数 1资源地址自死锁:当前线程试图递归地独占获取一个它只拥有共享的资源。仅当驱动程序验证程序的死锁检测选项处于活动状态时,才会使用此参数进行错误检查。导致死锁的最终原因的资源地址保留 保留 Deadlock: 发现锁层次结构违规。仅当驱动程序验证程序的死锁检测选项处于活动状态时,才会使用此参数进行错误检查。(使用 !deadlock 扩展以获得更多信息。)资源的地址保留 保留未初始化资源:未先初始化就已获取资源。仅当驱动程序验证程序的死锁检测选项处于活动状态时,才会使用此参数进行错误检查。被释放的资源地址死锁本应先释放的资源地址
0x1000保留Unexpected release: 资源释放顺序不正确。仅当驱动程序验证程序的死锁检测选项处于活动状态时,才会使用此参数进行错误检查。资源地址获取资源的线程
0x1001地址当前线程的地址意外线程:错误的线程释放了资源。仅当驱动程序验证程序的死锁检测选项处于活动状态时,才会使用此参数进行错误检查。资源地址保留
0x1002保留多次初始化:一个资源被初始化多次。仅当驱动程序验证程序的死锁检测选项处于活动状态时,才会使用此参数进行错误检查。资源地址保留
0x1003保留Unacquired resource:资源在被获取之前被释放。仅当驱动程序验证程序的死锁检测选项处于活动状态时,才会使用此参数进行错误检查。锁地址保留
0x1004保留驱动程序试图通过使用与此锁类型不匹配的 API 来获取锁。锁地址保留
0x1005保留驱动程序试图通过使用与此锁类型不匹配的 API 来释放锁。所有者线程地址保留
0x1007终止的线程拥有锁。锁地址所有者线程地址保留
0x1008删除的锁仍为线程所有。向其发出写入 IRP 的设备对象。IRP 的地址。MDL 描述的缓冲区的系统空间虚拟地址。
0x1009修改了写入 Irp 的不变 MDL 缓冲区内容。向其发出写入 IRP 的设备对象。IRP 的地址。MDL 描述的缓冲区的系统空间虚拟地址。
0x100ARead Irp 的不变 MDL 缓冲区内容在调度或者由虚拟页面支持的缓冲区期间被修改。指向描述违规的字符串的指针。此损坏中涉及的数据(如果不使用则为 0)。
0x100B此损坏中涉及的数据(如果不使用则为 0)。验证程序扩展状态存储检测到损坏。指向驱动程序对象的指针。指向捕获的原始 I/O 回调的指针。
0x1010保留(未使用)。验证程序在捕获的原始 I/O 回调中检测到内部损坏。参数2参数3
0x1011参数4错误原因驱动程序代码中检测到错误的地址。池类型。
0x1012池标签(如果提供)。代码完整性问题:调用者指定了一个可执行池类型。(预期:NonPagedPoolNx)驱动程序代码中检测到错误的地址。页面保护 (WIN32_PROTECTION_MASK)。
0x10130代码完整性问题:调用者指定了可执行页面保护。(预期:清除 PAGE_EXECUTE* 位)驱动程序代码中检测到错误的地址。页面优先级(MM_PAGE_PRIORITY 与 MdlMapping* 逻辑或者)。

为0x2000到0x2005 -代码完整性问题

参数 10代码完整性问题:调用者指定了一个可执行的 MDL 映射。(预期:MdlMappingNoExecute)图像文件名(Unicode 字符串)。节头的地址。
0x2000节名称(UTF-8 编码的字符串)。代码完整性问题:镜像包含可执行和可写部分。图像文件名(Unicode 字符串)。节头的地址。
0x2001节名称(UTF-8 编码的字符串)。代码完整性问题:图像包含未页面对齐的部分。图像文件名(Unicode 字符串)。IAT 目录。
0x2002节名称(UTF-8 编码的字符串)。代码完整性问题:镜像包含位于可执行部分的 IAT。参数 2参数 3
0x2003参数 4错误原因指向 NetBufferList 对象的指针 指向虚拟交换机对象的指针(如果非空)
0x2004保留(未使用)VM Switch:必须设置调用方提供的 NetBufferList 的 SourceHandle。请参阅 AllocateNetBufferListForwardingContext 例程。指向 NetBufferList 对象的指针 指向虚拟交换机对象的指针(如果非空)。
0x2005保留(未使用)VM 交换机:调用方提供的 NetBufferList 的转发详细信息不为零。请参阅 AllocateNetBufferListForwardingContext 例程。指向 NetBufferList 对象的指针 指向虚拟交换机对象的指针(如果非空)。

0xA001异向0xA00D - VM切换问题

参数 1保留的(未使用的)VM 交换机:调用者提供了一个 NetBufferList,其包头或者路由上下文为 NULL。请参阅可扩展交换机数据路径的数据包管理教程。无效端口的 ID网卡索引
0xA001指向虚拟交换机对象的指针(如果非空)。VM 交换机:调用者指定了无效的端口和 NIC 索引组合。请参阅 Hyper-V 可扩展交换机端口和网络适配器状态。指向 NetBufferList 对象的指针 指向 Destination 列表的指针。
0xA002指向虚拟交换机对象的指针(如果非空)。VM 交换机:调用方提供了无效的目标。请参阅 AddNetBufferListDestination 和 UpdateNetBufferListDestinations。指向 NetBufferList 对象的指针 指向虚拟交换机对象的指针(如果非空)。
0xA003保留(未使用)VM 交换机:调用方提供了无效的源 NIC 或者端口对象。请参阅 Hyper-V 可扩展交换机端口和网络适配器状态。指向 NetBufferList 对象的指针指向虚拟交换机对象的指针(如果非空)。
0xA004保留(未使用)VM 交换机:调用方提供了无效的目标列表。请参阅 AddNetBufferListDestination 和 UpdateNetBufferListDestinations。父 NIC 对象NIC 索引
0xA005指向虚拟交换机对象的指针(如果非空)。VM 交换机:在不允许时尝试引用 NIC。请参阅 Hyper-V 可扩展交换机端口和网络适配器状态。被引用的端口指向虚拟交换机对象的指针(如果非空)
0xA006保留(未使用)VM 交换机:在不允许时尝试引用端口。请参阅 Hyper-V 可扩展交换机端口和网络适配器状态。指向 NetBufferList 对象ContextTypeInfo 对象的指针
0xA007保留(未使用)VM 交换机:已设置故障上下文。请参阅 SetNetBufferListSwitchContext。指向 NetBufferList 对象的指针NDIS_SWITCH_REPORT_FILTERED_NBL_FLAGS_*
0xA008指向虚拟交换机对象(如果非空)VM 交换机的指针:为丢弃的 NetBufferList 提供的方向无效。请参阅 ReportFilteredNetBufferLists。指向 NetBufferList 对象的指针发送标志值
0xA009指向虚拟交换机对象(如果非空)的指针VM 交换机:当设置 NDIS_SEND_FLAGS_SWITCH_SINGLE_SOURCE 标志时,NetBufferList 链具有多个源端口。请参阅 Hyper-V 可扩展交换机发送和接收标志。指向 NetBufferList 对象的指针 指向虚拟交换机上下文的指针
0xA00A指向虚拟交换机对象的指针(如果非空)VM 交换机:当 NDIS_RECEIVE_FLAGS_SWITCH_DESTINATION_GROUP 标志被设置时,链中的一个或者多个 NetBufferLists 具有无效的目的地。请参阅 Hyper-V 可扩展交换机发送和接收标志。指向 NetBufferLists 对象的指针。指向虚拟交换机上下文的指针。
0xA00B指向虚拟交换机对象的指针(如果非空)。VM 切换:当设置了 VMS_NBL_ROUTING_CONTEXT_FLAG_NO_WNV_PROCESSING 标志时,尝试通过 WNV 完成 NetBufferList。参数 2参数 3
0xA00C参数 4错误原因指向描述违反规则条件的字符串的指针。指向规则状态变量的可选指针。
0xA00D保留驱动程序违反了 DDI 合规性规则 IrqlApcLte。该规则指定驱动程序必须仅在 IRQL <= APC_LEVEL 时调用 ObGetObjectSecurity 和 ObReleaseObjectSecurity。指向描述违反规则条件的字符串的指针。指向规则状态变量的可选指针。
0xA00E保留驱动程序违反了 DDI 合规性规则 IrqlDispatch。IrqlDispatch 规则指定驱动程序仅在 IRQL = DISPATCH_LEVEL 时才必须调用某些例程指向描述违反规则条件的字符串的指针。指向规则状态变量的可选指针。

0x00020002到0x00020022 - DDI遵守规则违反

参数 1保留驱动程序违反了 DDI 合规性规则 IrqlExAllocatePool。IrqlExAllocatePool 规则指定驱动程序仅在 IRQL<=DISPATCH_LEVEL 时调用 ExAllocatePoolWithTag 和 ExAllocatePoolWithTagPriority。指向描述违反规则条件的字符串的指针。指向规则状态变量的可选指针。
0x00020002保留驱动程序违反了 DDI 合规性规则 IrqlExApcLte1. IrqlExApcLte1 规则指定驱动程序仅在 IRQL <= APC_LEVEL 时调用 ExAcquireFastMutex 和 ExTryToAcquireFastMutex。指向描述违反规则条件的字符串的指针。指向规则状态变量的可选指针。
0x00020003保留驱动程序违反了 DDI 合规性规则 IrqlExApcLte2. IrqlExApcLte2 规则指定驱动程序仅在 IRQL <= APC_LEVEL 时调用某些例程。指向描述违反规则条件的字符串的指针。指向规则状态变量的可选指针。
0x00020004保留驱动程序违反了 DDI 合规性规则 IrqlExApcLte3. IrqlExApcLte3 规则指定驱动程序必须仅在 IRQL <= APC_LEVEL 时调用某些执行支持例程。指向描述违反规则条件的字符串的指针。指向规则状态变量的可选指针。
0x00020005保留驱动程序违反了 DDI 合规性规则 IrqlExPassive。IrqlExPassive 规则指定驱动程序必须仅在 IRQL = PASSIVE_LEVEL 时调用某些执行支持例程。指向描述违反规则条件的字符串的指针。指向规则状态变量的可选指针。
0x00020006保留驱动程序违反了 DDI 合规性规则 IrqlIoApcLte。IrqlIoApcLte 规则指定驱动程序必须仅在 IRQL <= APC_LEVEL 时调用某些 I/O 管理器例程。指向描述违反规则条件的字符串的指针。指向规则状态变量的可选指针。
0x00020007保留驱动程序违反了 DDI 合规性规则 IrqlIoPassive1. IrqlIoPassive1 规则指定驱动程序必须仅在 IRQL = PASSIVE_LEVEL 时调用某些 I/O 管理器例程。指向描述违反规则条件的字符串的指针。指向规则状态变量的可选指针。
0x00020008保留驱动程序违反了 DDI 合规性规则 IrqlIoPassive2. IrqlIoPassive2 规则指定驱动程序必须仅在 IRQL = PASSIVE_LEVEL 时调用某些 I/O 管理器例程。指向描述违反规则条件的字符串的指针。指向规则状态变量的可选指针。
0x00020009保留驱动程序违反了 DDI 合规性规则 IrqlIoPassive3. IrqlIoPassive3 规则指定驱动程序必须仅在 IRQL = PASSIVE_LEVEL 时调用某些 I/O 管理器例程。指向描述违反规则条件的字符串的指针。指向规则状态变量的可选指针。
0x0002000A保留驱动程序违反了 DDI 合规性规则 IrqlIoPassive4. IrqlIoPassive4 规则指定驱动程序必须仅在 IRQL = PASSIVE_LEVEL 时调用某些 I/O 管理器例程。指向描述违反规则条件的字符串的指针。指向规则状态变量的可选指针。
0x0002000B保留驱动程序违反了 DDI 合规性规则 IrqlIoPassive5. IrqlIoPassive5 规则指定驱动程序必须仅在 IRQL = PASSIVE_LEVEL 时调用某些 I/O 管理器例程。指向描述违反规则条件的字符串的指针。指向规则状态变量的可选指针。
0x0002000C保留驱动程序违反了 DDI 合规性规则 IrqlKeApcLte1. IrqlKeApcLte1 规则指定驱动程序必须仅在 IRQL <= APC_LEVEL 时调用某些内核例程。指向描述违反规则条件的字符串的指针。指向规则状态变量的可选指针。
0x0002000D保留驱动程序违反了 DDI 合规性规则 IrqlKeApcLte2. IrqlKeApcLte2 规则指定驱动程序必须仅在 IRQL <= APC_LEVEL 时调用某些内核例程。指向描述违反规则条件的字符串的指针。指向规则状态变量的可选指针。
0x0002000E保留驱动程序违反了 DDI 合规性规则 IrqlKeDispatchLte。IrqlKeDispatchLte 规则指定驱动程序必须仅在 IRQL <= DISPATCH_LEVEL 时调用某些内核例程。指向描述违反规则条件的字符串的指针。指向规则状态变量的可选指针。
0x0002000F保留驱动程序违反了 DDI 合规性规则 IrqlKeReleaseSpinLock。IrqlKeReleaseSpinLock 规则指定驱动程序必须仅在 IRQL = DISPATCH_LEVEL 时调用 KeReleaseSpinLock。指向描述违反规则条件的字符串的指针。指向规则状态变量的可选指针。
0x00020010保留驱动程序违反了 DDI 合规性规则 IrqlKeSetEvent。IrqlKeSetEvent 规则指定 KeSetEvent 例程仅在 Wait 设置为 FALSE 时在 IRQL <= DISPATCH_LEVEL 时调用,当 Wait 设置为 TRUE 时在 IRQL <= APC_LEVEL 时调用。指向描述违反规则条件的字符串的指针。指向规则状态变量的可选指针。
0x00020011保留驱动程序违反了 DDI 合规性规则 IrqlMmApcLte。IrqlMmApcLte 规则指定驱动程序必须仅在 IRQL <= APC_LEVEL 时调用某些内存管理器例程。指向描述违反规则条件的字符串的指针。指向规则状态变量的可选指针。
0x00020015保留驱动程序违反了 DDI 合规性规则 IrqlMmDispatch。IrqlMmDispatch 规则指定驱动程序必须仅在 IRQL = DISPATCH_LEVEL 时调用 MmFreeContiguousMemory。指向描述违反规则条件的字符串的指针。指向规则状态变量的可选指针。
0x00020016保留驱动程序违反了 DDI 合规性规则 IrqlObPassive。IrqlObPassive 规则指定驱动程序必须仅在 IRQL = PASSIVE_LEVEL 时调用 ObReferenceObjectByHandle。指向描述违反规则条件的字符串的指针。指向规则状态变量的可选指针。
0x00020019保留驱动程序违反了 DDI 合规性规则 IrqlPsPassive。IrqlPsPassive 规则指定驱动程序必须仅在 IRQL = PASSIVE_LEVEL 时调用某些进程和线程管理器例程。指向描述违反规则条件的字符串的指针。内部规则状态的地址(!ruleinfo 的第二个参数)。
0x0002001A补充状态的地址(!ruleinfo 的第三个参数)。驱动程序违反了 DDI 合规性规则 IrqlReturn。指向描述违反规则条件的字符串的指针。指向规则状态变量的可选指针。
0x0002001B保留驱动程序违反了 DDI 合规性规则 IrqlRtlPassive。IrqlRtlPassive 规则指定驱动程序必须仅在 IRQL = PASSIVE_LEVEL 时调用 RtlDeleteRegistryValue。指向描述违反规则条件的字符串的指针。指向规则状态变量的可选指针。
0x0002001C保留驱动程序违反了 DDI 合规性规则 IrqlZwPassive。IrqlZwPassive 规则指定驱动程序必须仅在 IRQL = PASSIVE_LEVEL 时调用 ZwClose。指向描述违反规则条件的字符串的指针。保留(未使用)
0x0002001D保留(未使用)驱动程序违反了 DDI 合规性规则 IrqlIoDispatch。指向描述违反规则条件的字符串的指针。保留(未使用)。
0x0002001E保留(未使用)。驱动程序违反了 DDI 合规性规则 IrqlIoRtlZwPassive。IrqlIoRtlZwPassive 规则指定驱动程序仅在以 IRQL = PASSIVE_LEVEL 执行时才调用规则中列出的 DDI。指向描述违反规则条件的字符串的指针。保留(未使用)。
0x0002001F保留(未使用)。驱动程序违反了 DDI 合规性规则 IrqlNtifsApcPassive。IrqlNtifsApcPassive 规则指定驱动程序仅在 IRQL = PASSIVE_LEVEL 或者 IRQL <= APC_LEVEL 执行时才调用规则中列出的 DDI。指向描述违反规则条件的字符串的指针。保留(未使用)。
0x00020022保留(未使用)。该驱动程序违反了 Microsoft 内部 DDI 合规性规则 IrqlKeMore。参数 2参数 3
0x00020023参数 4错误原因指向描述违反规则条件的字符串的指针。内部规则状态的地址(!ruleinfo 的第二个参数)。
0x00020024补充状态的地址(!ruleinfo 的第三个参数)。驱动程序违反了 DDI 合规性规则 CriticalRegions。指向描述违反规则条件的字符串的指针。内部规则状态的地址(!ruleinfo 的第二个参数)。
0x00020025补充状态的地址(!ruleinfo 的第三个参数)。驱动程序违反了 DDI 合规性规则 QueuedSpinLock。指向描述违反规则条件的字符串的指针。内部规则状态的地址(!ruleinfo 的第二个参数)。

0x00040003到0x00043006 - DDI遵守规则违反

参数 1补充状态的地址(!ruleinfo 的第三个参数)。驱动程序违反了 DDI 合规性规则 QueuedSpinLockRelease。指向描述违反规则条件的字符串的指针。内部规则状态的地址(!ruleinfo 的第二个参数)。
0x00040003补充状态的地址(!ruleinfo 的第三个参数)。驱动程序违反了 DDI 合规性规则 SpinLock。指向描述违反规则条件的字符串的指针。内部规则状态的地址(!ruleinfo 的第二个参数)
0x00040006补充状态的地址(!ruleinfo 的第三个参数)。驱动程序违反了 DDI 合规性规则 SpinlockRelease。指向描述违反规则条件的字符串的指针。内部规则状态的地址(!ruleinfo 的第二个参数)。
0x00040007补充状态的地址(!ruleinfo 的第三个参数)。驱动程序违反了 DDI 合规性规则 GuardedRegions。指向描述违反规则条件的字符串的指针。保留(未使用)
0x00040009保留(未使用)驱动程序违反了 DDI 合规性规则 RequestedPowerIrp。指向描述违反规则条件的字符串的指针。内部规则状态的地址(!ruleinfo 的第二个参数)。
0x0004000A补充状态的地址(!ruleinfo 的第三个参数)。驱动程序违反了 DDI 合规性规则 IoSetCompletionExCompleteIrp。指向描述违反规则条件的字符串的指针。保留(未使用)
0x0004000E保留(未使用)驱动程序违反了 DDI 合规性规则 PnpRemove。参数 2参数 3
0x0004100B参数 4错误原因指向描述违反规则条件的字符串的指针。内部规则状态的地址(!ruleinfo 的第二个参数)。
0x0004100F补充状态的地址(!ruleinfo 的第三个参数)。驱动程序违反了 DDI 合规性规则 KsDeviceMutex。指向描述违反规则条件的字符串的指针。内部规则状态的地址(!ruleinfo 的第二个参数)。
0x00043006补充状态的地址(!ruleinfo 的第三个参数)。驱动程序违反了 DDI 合规性规则 KsStreamPointerClone。指向描述违反规则条件的字符串的指针。保留(未使用)

0x00081001到0x00082005 - AV流驱动程序合规性违规

参数 1保留(未使用)驱动程序违反了 DDI 合规性规则 KsStreamPointerLock。指向描述违反规则条件的字符串的指针。内部规则状态的地址(!ruleinfo 的第二个参数)。
0x00081001补充状态的地址(!ruleinfo 的第三个参数)。驱动程序违反了 DDI 合规性规则 KsStreamPointerUnlock。指向描述违反规则条件的字符串的指针。保留(未使用)
0x00081002保留(未使用)驱动程序违反了 DDI 合规性规则 KsCallbackReturn。指向描述违反规则条件的字符串的指针。内部规则状态的地址(!ruleinfo 的第二个参数)。
0x00081003补充状态的地址(!ruleinfo 的第三个参数)。驱动程序违反了 DDI 合规性规则 KsIrqlDeviceCallbacks。指向描述违反规则条件的字符串的指针。内部规则状态的地址(!ruleinfo 的第二个参数)。
0x00081004补充状态的地址(!ruleinfo 的第三个参数)。驱动程序违反了 DDI 合规性规则 KsIrqlFilterCallbacks。指向描述违反规则条件的字符串的指针。内部规则状态的地址(!ruleinfo 的第二个参数)。
0x00081005补充状态的地址(!ruleinfo 的第三个参数)。驱动程序违反了 DDI 合规性规则 KsIrqlPinCallbacks。指向描述违反规则条件的字符串的指针。保留(未使用)
0x00081006保留(未使用)驱动程序违反了 DDI 合规性规则 KsIrqlDDIs。指向描述违反规则条件的字符串的指针。内部规则状态的地址(!ruleinfo 的第二个参数)。
0x00081007补充状态的地址(!ruleinfo 的第三个参数)。驱动程序违反了 DDI 合规性规则 KsFilterMutex。指向描述违反规则条件的字符串的指针。内部规则状态的地址(!ruleinfo 的第二个参数)。
0x00081008补充状态的地址(!ruleinfo 的第三个参数)。驱动程序违反了 DDI 合规性规则 KsProcessingMutex。指向描述违反规则条件的字符串的指针。内部规则状态的地址(!ruleinfo 的第二个参数)。
0x00081009补充状态的地址(!ruleinfo 的第三个参数)。驱动程序违反了 DDI 合规性规则 KsInvalidStreamPointer。指向描述违反规则条件的字符串的指针。内部规则状态的地址(!ruleinfo 的第二个参数)。
0x0008100A补充状态的地址(!ruleinfo 的第三个参数)。驱动程序违反了 DDI 合规性规则 KsTimedPinSetDeviceState。指向描述违反规则条件的字符串的指针。内部规则状态的地址(!ruleinfo 的第二个参数)。
0x0008100B补充状态的地址(!ruleinfo 的第三个参数)。驱动程序违反了 DDI 合规性规则 KsTimedDeviceCallbacks。指向描述违反规则条件的字符串的指针。内部规则状态的地址(!ruleinfo 的第二个参数)。
0x0008100C补充状态的地址(!ruleinfo 的第三个参数)。驱动程序违反了 DDI 合规性规则 KsTimedFilterCallbacks。指向描述违反规则条件的字符串的指针。内部规则状态的地址(!ruleinfo 的第二个参数)。
0x00082001补充状态的地址(!ruleinfo 的第三个参数)。驱动程序违反了 DDI 合规性规则 KsTimedPinCallbacks。指向描述违反规则条件的字符串的指针。内部规则状态的地址(!ruleinfo 的第二个参数)。
0x00082002补充状态的地址(!ruleinfo 的第三个参数)。驱动程序违反了 DDI 合规性规则 KsTimedProcessingMutex。参数2参数3
0x00082003参数4错误原因指向描述违反规则条件的字符串的指针。内部规则状态的地址(!ruleinfo 的第二个参数)。
0x00082004补充状态的地址(!ruleinfo 的第三个参数)。驱动程序违反了 DDI 合规性规则 NdisOidComplete。指向描述违反规则条件的字符串的指针。内部规则状态的地址(!ruleinfo 的第二个参数)。
0x00082005补充状态的地址(!ruleinfo 的第三个参数)。驱动程序违反了 DDI 合规性规则 NdisOidDoubleComplete。指向描述违反规则条件的字符串的指针。内部规则状态的地址(!ruleinfo 的第二个参数)。

0x00091001 到 0x0009400C - NDIS DDI 合规性规则违规

参数 1补充状态的地址(!ruleinfo 的第三个参数)。驱动程序违反了 DDI 合规性规则 NdisOidDoubleRequest。指向描述违反规则条件的字符串的指针。内部规则状态的地址(!ruleinfo 的第二个参数)。
0x00091001补充状态的地址(!ruleinfo 的第三个参数)。驱动程序违反了 NDIS/WIFI 验证规则 NdisTimedOidComplete。指向描述违反规则条件的字符串的指针。内部规则状态的地址(!ruleinfo 的第二个参数)。
0x00091002补充状态的地址(!ruleinfo 的第三个参数)。驱动程序违反了 NDIS/WIFI 验证规则 NdisTimedDataSend。指向描述违反规则条件的字符串的指针。内部规则状态的地址(!ruleinfo 的第二个参数)。
0x0009100E补充状态的地址(!ruleinfo 的第三个参数)。驱动程序违反了 NDIS/WIFI 验证规则 NdisTimedDataHang。指向描述违反规则条件的字符串的指针。内部规则状态的地址(!ruleinfo 的第二个参数)。
0x00092003补充状态的地址(!ruleinfo 的第三个参数)。驱动程序违反了 NDIS/WIFI 验证规则 NdisFilterTimedPauseComplete。指向描述违反规则条件的字符串的指针。内部规则状态的地址(!ruleinfo 的第二个参数)。
0x0009200D补充状态的地址(!ruleinfo 的第三个参数)。驱动程序违反了 NDIS/WIFI 验证规则 NdisFilterTimedDataSend。指向描述违反规则条件的字符串的指针。内部规则状态的地址(!ruleinfo 的第二个参数)。
0x0009200F补充状态的地址(!ruleinfo 的第三个参数)。驱动程序违反了 NDIS/WIFI 验证规则 NdisFilterTimedDataReceive。指向描述违反规则条件的字符串的指针。内部规则状态的地址(!ruleinfo 的第二个参数)。
0x00092010补充状态的地址(!ruleinfo 的第三个参数)。驱动程序违反了 NDIS/WIFI 验证规则 WlanAssociation。指向描述违反规则条件的字符串的指针。内部规则状态的地址(!ruleinfo 的第二个参数)。
0x00092011补充状态的地址(!ruleinfo 的第三个参数)。驱动程序违反了 NDIS/WIFI 验证规则 WlanConnectionRoaming。指向描述违反规则条件的字符串的指针。内部规则状态的地址(!ruleinfo 的第二个参数)。
0x00092012补充状态的地址(!ruleinfo 的第三个参数)。驱动程序违反了 NDIS/WIFI 验证规则 WlanDisassociation。指向描述违反规则条件的字符串的指针。保留 (unused)
0x00093004保留 (unused)驱动违反了 NDIS/WIFI 验证规则 WlanAssert。指向描述违反规则条件的字符串的指针。内部规则状态的地址(!ruleinfo 的第二个参数)。
0x00093005补充状态的地址(!ruleinfo 的第三个参数)。驱动程序违反了 NDIS/WIFI 验证规则 WlanTimedAssociation。指向描述违反规则条件的字符串的指针。内部规则状态的地址(!ruleinfo 的第二个参数)。
0x00093006补充状态的地址(!ruleinfo 的第三个参数)。驱动程序违反了 NDIS/WIFI 验证规则 WlanTimedConnectionRoaming。指向描述违反规则条件的字符串的指针。内部规则状态的地址(!ruleinfo 的第二个参数)。
0x00093101补充状态的地址(!ruleinfo 的第三个参数)。驱动程序违反了 NDIS/WIFI 验证规则 WlanTimedConnectRequest。指向描述违反规则条件的字符串的指针。内部规则状态的地址(!ruleinfo 的第二个参数)。
0x00094007补充状态的地址(!ruleinfo 的第三个参数)。驱动程序违反了 NDIS/WIFI 验证规则 WlanTimedLinkQuality。指向描述违反规则条件的字符串的指针。内部规则状态的地址(!ruleinfo 的第二个参数)。
0x00094008补充状态的地址(!ruleinfo 的第三个参数)。驱动程序违反了 NDIS/WIFI 验证规则 WlanTimedScan。{翻译单元格}{翻译单元格}
0x00094009{翻译单元格}{翻译单元格}{翻译单元格}{翻译单元格}
0x0009400B{翻译单元格}{翻译单元格}{翻译单元格}{翻译单元格}
0x0009400C{翻译单元格}{翻译单元格}{翻译单元格}{翻译单元格}
日期:2020-09-17 00:16:10 来源:oir作者:oir