FutureForever
驱动牛犊
驱动牛犊
  • 注册日期2004-09-02
  • 最后登录2005-06-13
  • 粉丝1
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1537回复:3

*** STOP 0x0000000A 错误

楼主#
更多 发布于:2004-10-31 23:32
在Win2000+sp4+DriverStudio 3.1下开发以PLX 9052为借口芯片的驱动程序,在中断产生时, 总出现如下蓝屏错误:
*** STOP 0x0000000A (0xHHHHLLLL, 0xHHHHLLLL, 0x00000001, 0xKKKKKKKK )
IRQL_NOT_LESS_OR_EQUAL
*** Address 0xKKKKKKKK base at 80400000, DateStamp 40D1D19A - ntoskrnl.exe
其中0xHHHHLLLL不定( 程序中涉及对KInterruptSafeFIFO对象的操作)
0xKKKKKKKK为NTOSKRNL中的一服务, 不知为何,如何解决, 请高手不囹赐教。
piggy
驱动牛犊
驱动牛犊
  • 注册日期2001-08-24
  • 最后登录2012-01-14
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望27点
  • 贡献值0点
  • 好评度16点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-11-01 01:07
这个错误可能是内存访问错误, 比如你在DISPATCH_LEVEL访问了PAGED MEMORY. 或者你在高IRQL级使用了只能在低IRQL上运行的API。打开DRIVER VERIFIER工具监控一下,就可以知道在你的驱动中哪里出错了。
FutureForever
驱动牛犊
驱动牛犊
  • 注册日期2004-09-02
  • 最后登录2005-06-13
  • 粉丝1
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-11-01 09:28
我所作的是在ISR中缉拿购到的数据放在KInterruptSafeFIFO对象中,在DPC中置通知事件以告知用户应用程序数据到来, 在用户应用程序的DEVICE_IO IRP中读取该FIFO。 程序曾经运行的很好, 发送防以每秒约3000次的速度发送, 运行半分钟没任何问题, 此期间在后台进行其他操作也很正常。 但基本上没做什么, 后来就出现上述问题。 我在程序中没有对PAGED MEM操作, 至少我没看出来那里有这种操作, IRQL的问题也不存在。 上述FIFO的缓冲区是在NON_PAGED_POOL种分配的,READ和WRITE操作也是同中断同步了的。 不知为什么, 还请继续赐教。 Driver Verifier我也曾试过, 但似乎看不出什么, 该如何看, 请赐教。

[编辑 -  11/1/04 by  FutureForever]
piggy
驱动牛犊
驱动牛犊
  • 注册日期2001-08-24
  • 最后登录2012-01-14
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望27点
  • 贡献值0点
  • 好评度16点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-11-02 04:42
这种问题的可能原因分析起来比较麻烦,原因也很多。还有一种情况就是你虽然分配的缓冲区是在NON_PAGED_POOL,但你分配的是否足够大,有没有越界的可能?

VERIFIER很简单,在命令行方式下运行VERIFIER就可以了,界面简单明了。

Good luck.
游客

返回顶部