之路教程 https://onitr oad .com

原因

这种情况通常是由于驱动程序在释放定时器或者 DPC 所在的内存之前未能取消它。

Windows 蓝屏代码 0xC7:TIMER_OR_DPC_INVALID

TIMER_OR_DPC_INVALID 错误检查的值为 0x000000C7.
如果在内存中的某处发现不允许的内核计时器或者延迟过程调用 (DPC),则会发出此消息。

TIMER_OR_DPC_INVALID 参数

参数 1参数2参数3参数4错误原因
0x0定时器对象地址正在检查的内存范围的开始 正在检查的内存范围的结束在不允许使用计时器对象的内存块中发现计时器对象。.
0x1DPC 对象的地址正在检查的内存范围开始 正在检查的内存范围结束在不允许 DPC 对象的内存块中发现 DPC 对象。
0x2DPC 例程的地址正在检查的内存范围开始 正在检查的内存范围结束在不允许 DPC 对象的内存块中发现 DPC 例程。
0x3DPC 对象的地址Processor number系统中的处理器数量 DPC 对象的处理器编号不正确。
0x4DPC 例程的地址内核调用 DPC 例程之前线程的 APC 禁用计数 调用 DPC 例程线程的 APC 禁用计数 在 DPC 例程执行期间更改了线程的 APC 禁用计数。
每次驱动程序调用 KeEnterCriticalRegion、FsRtlEnterFileSystem 或者获取互斥锁时,APC 禁用计数都会递减。
每次驱动程序调用 KeLeaveCriticalRegion、KeReleaseMutex 或者 FsRtlExitFileSystem 时,APC 禁用计数都会增加。
0x5DPC例程的地址内核调用DPC例程之前线程的APC禁用计数调用DPC例程线程的APC禁用计数在定时器DPC例程执行期间线程的APC禁用计数被更改。
每次驱动程序调用 KeEnterCriticalRegion、FsRtlEnterFileSystem 或者获取互斥锁时,APC 禁用计数都会递减。
每次驱动程序调用 KeLeaveCriticalRegion、KeReleaseMutex 或者 FsRtlExitFileSystem 时,APC 禁用计数都会增加。

解决方法

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

如果我们是系统管理员,如果问题仍然存在,我们应该卸载驱动程序。

日期:2020-09-17 00:16:10 来源:oir作者:oir