程序本身是 pcisample 的改动版,没有任何队列的操作,只有空壳。使用的硬件是ch352 pci转串口的pci卡。win7 系统,debugview 看调试信息,每个函数都加 DbgPrint。使用设备管理器安装驱动。
1.有安装成功的时候,DriverEntry-->EvtDeviceAdd-->EvtDevicePrepareHardware。卸载时 EvtDeviceReleaseHardware……
2.也有蓝屏的时候,发生的地方不同,有时是安装时,DriverEntry还没打印出来;有时是卸载时,EvtDeviceReleaseHardware还没打印出来;有时是EvtDevicePrepareHardware走完了,成功安装了,设备管理器也说成功了,然后开心的时候,“噗哧”蓝屏了……
3.每次蓝屏STOP代码都不一样。对于dmp文件的解析,都不是说我的代码有问题,是其他的 nt 什么的,但我知道肯定是我的空壳代码有问题啦。可是实在不知道怎么查这个问题。
4.单机写 pci 驱动啊,不知道怎么调试啊,恨不能把自己的系统断下来……
5.我现在就不明白的是,貌似也没见我的句子打印出来,不知道是否走到我的代码了。有几次蓝屏显示是我的sys问题,可这情况下次重启一定还蓝屏,终于出来时,dmp已经不是这个问题了。(也有时间起不来,只好修复了)
------解决方案--------------------
在虚拟机里安装,windbg连接虚拟机调试,运行!analyze -v 能看到详细的错误信息
------解决方案--------------------
若是头次接触驱动开发的话,还是建议使用windriver;
使用DDK/WDK开发驱动程序,还是有一定难度和要求的。