阅读:1210回复:2
死机与驱动程序的启动顺序有关吗?
我作了一个内核中的软驱动程序B,它要调用硬件驱动程序A。我手动修改注册表保证他们在一个Group中,并且驱动B的Tag大于驱动A,即保证A先于B启动。
若在B的 AddDevice()例程中使用 IoGetDeviceObjectPointer()调用A。若在系统已启动后,安装B,正常;然后重启系统,就死机。 请问我这样处理启动顺序正确吗?该如何处理? 死机与驱动程序的启动顺序有关吗? |
|
沙发#
发布于:2001-10-20 14:19
首先: 你对你所使用函数的返回值判断了没有?如果A没有启动,
你应考虑怎么办才对? 再:你可以使用以下的很笨但很保险的方法:等待A已经启动后,再Attach your DeviceObject ,(ZwCreateFile打开A,成功就表示A已经加载,否则等待,再打开,直到成功)。 最后:为什么要两个driver, 一个不行吗? |
|
板凳#
发布于:2001-10-20 17:58
关于启动顺序,好像不是根据以tag大小来判断的,要在一顺序键值中放入你的Tag ID.
|
|
|