阅读:3064回复:5
如何令中间层驱动安装时不断网,重启后生效?
如题,我开发了一个中间层驱动,因为项目是应用在服务器上面,所以要求驱动安装的时候不能断网。我做了一些研究,断网主要是在做PtBindApdater绑定的过程断开原系统协议与miniport直接的连接。个人臆想,如果要阻止断网的话,应该在第一安装的时候只安装miniport不执行这个绑定过程,判断在以后的重启时则执行绑定,这样便可以达到安装的时候不断网。我使用ddk里提到的NDISCancelInitMiniport来取消MPInit的过程,不过这一阻止绑定的过程总是会蓝屏,原因找了很久不大明白。 所以想请教论坛里面的弟兄,有没有人做过这方面的内容?或者有什么好的想法,请指教一下,感谢。
|
|
沙发#
发布于:2010-06-02 13:59
1 使用hook技术不需要断网。
2 何处NDISCancelInitMiniport,描述清楚。错误码是什么?windbg打印的错误信息堆栈是什么? 3 再说,如果安装完需要立即重新启动,那么断网又有什么关系呢? |
|
|
板凳#
发布于:2010-06-02 14:43
回 1楼(cyliu) 的帖子
谢谢斑竹的回复。1.NDIS HOOK确实不用重启,不过由于驱动需要支持运行在Server 2008系统,NDIS HOOK技术不知道是否能支持? 2.这一块我只是进行了尝试性的动作修改,因为对MPInit和PtBindApdater这一块的流程了解还很模糊,所以也没有什么具体的调试信息。在这儿想请教一下斑竹老大,如果想阻止驱动断开原因上下层关系,该怎么样修改才好? 3.在服务器安装中间层的时候不能断网但也不会和不能立刻重启,不然不断网就没有意义了。重启是在这之后服务器需要维护什么的被人工或其他软件重启。 |
|
地板#
发布于:2010-06-02 15:18
64位hook能给您带来不稳定的根源。
不知道您怎么安装驱动,不好发表意见。假定您都不好搞,直接在DriverEntry 检测csrss.exe进程是否启动不就结了。 如果启动直接返回 STATUS_SUCESS |
|
地下室#
发布于:2010-11-30 10:04
做个开机自启动程序,功能是安装NDIS驱动。安装好后卸载自己。
|
|
5楼#
发布于:2010-12-30 21:08
回 楼主(liuguo0225) 的帖子
楼主是64位的系统? 如果是32位的 NDISHOOK是可以使用的。 如果需要请加入QQ群 74755180 |
|
|