错误检查 0x35:NO_MORE_IRP_STACK_LOCATIONS
NO_MORE_IRP_STACK_LOCATIONS 错误检查的值为 0x00000035。 当 IoCallDriver 数据包不再有剩余的堆栈位置时,就会出现此错误检查。
重要
这篇文章适合程序员阅读。 如果您是在使用计算机时收到蓝屏错误代码的客户,请参阅蓝屏错误疑难解答。
NO_MORE_IRP_STACK_LOCATIONS 参数
参数 | 说明 |
---|---|
1 |
IRP 的地址 |
2 |
Reserved |
3 |
Reserved |
4 |
Reserved |
原因
高级驱动程序试图通过 IoCallDriver 接口调用较低级别的驱动程序,但数据包中没有更多堆栈位置。 这会阻止较低级别的驱动程序访问其参数。
这是一个灾难性的情况,因为较高级别的驱动程序在运行时,就像它已为较低级别的驱动程序填充了参数(根据需要)。 但由于后一个驱动程序没有堆栈位置,前一个驱动程序实际上已经注销了数据包的末尾。 这意味着其他一些内存也已损坏。