错误检查 0xC7:TIMER_OR_DPC_INVALID
TIMER_OR_DPC_INVALID 错误检查的值为 0x000000C7。 如果在内存中不允许使用内核计时器或延迟的过程调用 (DPC),就会发生此错误。
重要
这篇文章适合程序员阅读。 如果你是在使用计算机时收到蓝屏错误代码的客户,请参阅蓝屏错误疑难解答。
TIMER_OR_DPC_INVALID 参数
参数 1 | 参数 2 | 参数 3 | 参数 4 | 错误消息的原因 |
---|---|---|---|---|
0x0 |
计时器对象的地址 |
正在检查的内存范围的起始位置 |
正在检查的内存范围的结束 |
在不允许使用计时器对象的内存块中找到计时器对象。 。 |
0x1 |
DPC 对象的地址 |
正在检查的内存范围的起始位置 |
正在检查的内存范围的结束 |
在不允许使用 DPC 对象的内存块中找到 DPC 对象。 |
0x2 |
DPC 例程的地址 |
正在检查的内存范围的起始位置 |
正在检查的内存范围的结束 |
在不允许使用 DPC 对象的内存块中找到 DPC 例程。 |
0x3 |
DPC 对象的地址 |
处理器编号 |
系统中的处理器数 |
DPC 对象的处理器编号不正确。 |
0x4 |
DPC 例程的地址 |
内核调用 DPC 例程之前,线程的 APC 禁用计数 |
调用 DPC 例程之后,线程的 APC 禁用计数 |
在执行 DPC 例程期间,线程的 APC 禁用计数发生了更改。 每次驱动程序调用 KeEnterCriticalRegion、FsRtlEnterFileSystem 或获取互斥体时,APC 禁用计数都会递减。 每次驱动程序调用 KeLeaveCriticalRegion、KeReleaseMutex 或 FsRtlExitFileSystem 时,APC 禁用计数都会递增。 |
0x5 |
DPC 例程的地址 |
内核调用 DPC 例程之前,线程的 APC 禁用计数 |
调用 DPC 例程之后,线程的 APC 禁用计数 |
线程的 APC 禁用计数在执行计时器 DPC 例程期间发生了更改。 每次驱动程序调用 KeEnterCriticalRegion、FsRtlEnterFileSystem 或获取互斥体时,APC 禁用计数都会递减。 每次驱动程序调用 KeLeaveCriticalRegion、KeReleaseMutex 或 FsRtlExitFileSystem 时,APC 禁用计数都会递增。 |
原因
这种情况通常是由驱动程序在释放其所在的内存之前未能取消计时器或 DPC 引起的。
解决方法
如果你是驱动程序编写者,请使用通过此错误检查获得的信息来修复代码中的错误。
如果你是系统管理员,如果问题仍然存在,则应卸载驱动程序。