错误检查 0xC7:TIMER_OR_DPC_INVALID

TIMER_OR_DPC_INVALID bug 检查的值为 0x000000C7。 如果在不允许内核计时器或延迟过程调用(DPC)的某个位置找到,则会发出此问题。

重要

这篇文章适合程序员阅读。 如果您是在使用计算机时收到蓝屏错误代码的客户,请参阅蓝屏错误疑难解答

TIMER_OR_DPC_INVALID参数

参数 1 参数 2 参数 3 参数 4 错误原因

0x0

计时器对象的地址

正在检查的内存范围的开始

正在检查的内存范围的结束

计时器对象是在不允许计时器对象的内存块中找到的。 .

0x1

DPC 对象的地址

正在检查的内存范围的开始

正在检查的内存范围的结束

在不允许 DPC 对象的内存块中找到 DPC 对象。

0x2

DPC 例程的地址

正在检查的内存范围的开始

正在检查的内存范围的结束

DPC 例程是在不允许 DPC 对象的内存块中找到的。

0x3

DPC 对象的地址

处理器编号

系统中的处理器数

DPC 对象的处理器编号不正确。

0x4

DPC 例程的地址

线程的 APC 在内核调用 DPC 例程之前禁用计数

调用 DPC 例程后线程的 APC 禁用计数

线程的 APC 禁用计数在 DPC 例程执行期间已更改。

每次驱动程序调用 KeEnterCriticalRegionFsRtlEnterFileSystem 或获取互斥体时,APC 禁用计数都会递减。

每次驱动程序调用 KeLeaveCriticalRegionKeReleaseMutexFsRtlExitFileSystem 时,APC 禁用计数都会递增。

0x5

DPC 例程的地址

线程的 APC 在内核调用 DPC 例程之前禁用计数

调用 DPC 例程后线程的 APC 禁用计数

线程的 APC 禁用计数在执行计时器 DPC 例程期间已更改。

每次驱动程序调用 KeEnterCriticalRegionFsRtlEnterFileSystem 或获取互斥体时,APC 禁用计数都会递减。

每次驱动程序调用 KeLeaveCriticalRegionKeReleaseMutexFsRtlExitFileSystem 时,APC 禁用计数都会递增。

原因

这种情况通常是驱动程序在释放其所在的内存之前未能取消计时器或 DPC 造成的。

决议

如果你是驱动程序编写器,请使用通过此 bug 检查获取的信息来修复代码中的 bug。

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