阅读:945回复:0
关于hook_device_service,要多少分请开口啊
我写的驱动程序,是一个9x下的pnp vxd 驱动程序,是串口设备,当设备被列举完,响应pnp_new_devnode来注册设备驱动时,要打开串口,即获得串口句柄,但此时串口却还被serenum.vxd占着,于是,我想用hook_device_services来hook vcomm_closecomm(),等到serenum.vxd调用此函数来关掉串口时,我的驱动做出响应,向设备管理启发送一个register_device_loader,这样设备管理器会重新
发给我的驱动程序一个pnp_new_devnode,,然后我再去打开串口然后去注册设备驱动,但问题就处在这里,我发现串口还是打不开 一直到进入windows界面后,串口还是打不开,于是我怀疑我的hookl程序,把serenum.vxd的vcomm_closecomm()调用给题替换了,导致串口一直是打开的 但是,我不知道怎样等到serenum.vxd真正关闭串口后,发给我一个通知,让我可以去打开出口并注册我的驱动程序 那位大侠对98 比较熟悉的还网多多指教阿 要多少分尽管开口!!!!!!!!!!!! HDSC_Thunk OpenComThunk; Hook_Device_Service_C(___VCOMM_CloseComm,closecomportproc,&OpenComThunk); |
|