错误检查 0xC1:SPECIAL_POOL_DETECTED_MEMORY_CORRUPTION
SPECIAL_POOL_DETECTED_MEMORY_CORRUPTION 错误检查的值为 0x000000C1。 这表示驱动程序写入了特殊池的无效部分。
重要
这篇文章适合程序员阅读。 如果你是在使用计算机时收到蓝屏错误代码的客户,请参阅蓝屏错误疑难解答。
SPECIAL_POOL_DETECTED_MEMORY_CORRUPTION 参数
参数 4 表示违规类型。
参数 1 | 参数 2 | 参数 3 | 参数 4 | 错误消息的原因 |
---|---|---|---|---|
驱动程序试图释放的地址 |
Reserved |
0 |
0x20 |
驱动程序试图释放未分配的池。 |
驱动程序试图释放的地址 |
请求的字节数 |
计算的字节数(实际提供给调用方) |
0x21, 0x22 |
驱动程序试图释放错误的地址。 |
驱动程序试图释放的地址 |
位损坏的地址 |
Reserved |
0x23 |
驱动程序释放了地址,但同一页内的邻近字节已损坏。 |
驱动程序试图释放的地址 |
位损坏的地址 |
Reserved |
0x24 |
驱动程序释放了地址,但分配结束后出现的字节已被覆盖。 |
当前 IRQL |
池类型 |
字节数 |
0x30 |
驱动程序试图在不正确的 IRQL 中分配池。 |
当前 IRQL |
池类型 |
驱动程序试图释放的地址 |
0x31 |
驱动程序试图在不正确的 IRQL 中释放池。 |
驱动程序试图释放的地址 |
一个位损坏的地址 |
Reserved |
0x32 |
驱动程序释放了地址,但同一页内的邻近字节有一个位错误。 |
_POOL_TYPE 代码在 ntddk.h 中枚举。 其中,0 表示非分页池,1 表示分页池。
原因
驱动程序已写入到特殊池的无效部分。
解决方法
获取当前线程的回溯。 此回溯通常会揭示错误的来源。
有关特殊池的信息,请参阅 Windows 驱动程序工具包的驱动程序验证程序部分。