阅读:2048回复:12
驱动程序不能使系统关机,而是做重启动作
近日,在WINXP做一个USB设备的驱动程序,设备工作正常。但在做关机动作时,而是做重启动作。我拔下此USB设备,它就能正常关机。说明是驱动带来的问题。
用DDK中的PNP DRIVER TEST,驱动能做正常的启动、卸载、停止动作。我用SOFTICE跟踪,在UNLOAD例程中没有发现问题。因此我想是不是资源遗漏的问题。想找BOUNDSCHECKER来做测试,不知是否有大侠用过此工具。 |
|
|
沙发#
发布于:2005-02-01 17:24
谢谢以上各位大侠的关注,这个问题可能是我的电脑本身的问题。我换了一台电脑,并不出现这样的问题。现在正在做更多的测试。
|
|
|
板凳#
发布于:2005-01-28 15:17
很有可能就是在处理IRP_DISPATCH_POWER时候出了问题,可能你要先处理下和自己的usb device power相关的 usb bus registers,然后再传到下层的ubs bus driver.
|
|
|
地板#
发布于:2005-01-28 15:05
还是贴出代码大家调试一下看看
|
|
|
地下室#
发布于:2005-01-28 14:15
谢谢楼上几位大侠的关注,这个问题还是没有解决。
“你的驱动有无Shutdown例程” 我并没有做shutdown例程。 “看看你的驱动电源管理部分” 就驱动电源管理而言,我并没有做太多动作,仅仅是把IRP送到STACK的下一层。 |
|
|
5楼#
发布于:2005-01-28 10:14
你的驱动有无Shutdown例程
|
|
|
6楼#
发布于:2005-01-24 17:33
xp嘛,你用windbg跟踪一下,应该跟出来,或用softice(双机联调)跟踪一下。关机时候出现的问题,应该能用windbg跟踪出来。一般是处理remove和电源的时候,出了问题。可能是什么资源没有正常释放。
|
|
7楼#
发布于:2005-01-24 15:54
刚刚试了一下,还是不行。 看看你的驱动电源管理部分 |
|
|
8楼#
发布于:2005-01-24 00:43
刚刚试了一下,还是不行。
在开机时,设备工作正常。关机时,并不出现蓝屏。可就是不正常做关机动作,老是重启。 |
|
|
9楼#
发布于:2005-01-24 00:35
不知为何,网页显示我在线,但不显示我登录,可我却是登录了,因此暂不能给分。
谢谢tooflat大侠。我先试一试。 |
|
|
10楼#
发布于:2005-01-23 21:53
应该是关机的时候驱动发生蓝屏了,在我的电脑属性中把蓝屏自动重启去掉试试,关机不会调用DriverUnload,而会调用DispatchSystemShutdown
|
|
11楼#
发布于:2005-01-23 21:45
谢谢AllenZh大侠,我安装的DS2.7并没有这个工具。想问AllenZh大侠,你做了那么多的驱动程序,都是用boundschecker来检测资源的泄漏吗?
因为初次做得这个触摸屏驱动程序,心里并没有多少底。这个驱动在WIN2K下并没有出现这个问题,但由于是要适应多OS,WINXP下测试时就发现这个问题。想要交付客户使用,看来还要做很多工作。 |
|
|
12楼#
发布于:2005-01-23 13:07
装个DriverStudio就有了
近日,在WINXP做一个USB设备的驱动程序,设备工作正常。但在做关机动作时,而是做重启动作。我拔下此USB设备,它就能正常关机。说明是驱动带来的问题。 |
|
|