阅读:1346回复:5
关于kernel driver的三个问题,请大虾指教
1。请问能否删除驱动设备堆栈中间的一个设备?相当于就是“抽出”(对象是一个upper filter driver)该设备,所以要重新建立下层和上层设备的连接,不知道能实现么?
2。我想将我自己写的一个驱动作为一个系统设备让系统调用,在应用程序里调用一次带SERVICE_SYSTEM_START参数CreateService,不知道能否实现?是必须写一个inf么? 3。每次系统启动的时候都应该加载设备吧。能否制定系统加载设备的顺序,我们能否指定这个顺序(在某种程度上)?决定系统调用的这个东西在注册表里有么? 请各位大虾指教,非常感谢//bow |
|
最新喜欢:![]() |
沙发#
发布于:2002-07-31 10:00
非常感谢楼上的同志,不过不知道为什么我现在已经不能给分了,很奇怪的说。
您说: [1.可以通过取得该设备对象,然后得到驱动程序对象,把其中的请求函数分发例程里面的函数入口替换成自己的,这样做就象是把原来的驱动程序替换掉了,当然,还不是真正的替换掉,除非是知道该驱动程序的处理过程和所有的操作 我不明白的是,把入口替换掉了之后,应该说整个驱动都被替换掉了吧? |
|
板凳#
发布于:2002-07-26 23:05
1。请问能否删除驱动设备堆栈中间的一个设备?相当于就是“抽出”(对象是一个upper filter driver)该设备,所以要重新建立下层和上层设备的连接,不知道能实现么? 1.可以通过取得该设备对象,然后得到驱动程序对象,把其中的请求函数分发例程里面的函数入口替换成自己的,这样做就象是把原来的驱动程序替换掉了,当然,还不是真正的替换掉,除非是知道该驱动程序的处理过程和所有的操作 2。你可以写一个驱动程序,添加自己的系统服务,具体的做法在黄鹤白云的系统内幕版有讲的,也可以用google来搜一下啊 3。可以通过定制驱动程序组的加载顺序来控制,对于同一个组里面的驱动程序,可以通过设定他们之间的tag值来定制他们的加载顺序,也可以设定他们的依赖关系来定制 |
|
地板#
发布于:2002-07-26 21:26
谢谢,能告诉我大概在什么地方么? 这个DDK文档中就可以找得到的~~~或者到MS的网站上去搜。 |
|
地下室#
发布于:2002-07-26 19:49
谢谢,能告诉我大概在什么地方么?
|
|
5楼#
发布于:2002-07-26 14:22
3。可以的。有个帖子的,忘了在哪了。我又不能带附件。 :(
|
|