阅读:1431回复:9
如何控制WDM
写了一个Keyboard的Filter,可是现在希望增加一个开关,就是我的应用程序可以控制是否进行过滤,不知如何让程序能够通知Driver?谢谢!!....
|
|
最新喜欢:![]() |
沙发#
发布于:2002-07-29 20:58
多看DDK的确很好,可是好难看啊,很多不动的
|
|
|
板凳#
发布于:2002-07-24 21:25
楼上说的方法不错,如果按照正常的方式是自己创建一个响应应用程序请求的设备和提供给win32程序的设备对象符号连接,然后在驱动里面进行对这些请求的响应!具体的例子你去看ddk里面的例子吧,里面有很多这样的例子的,关键是看ddk里面的例子代码,从那里你可以解决很多你不知道的问题的
|
|
地板#
发布于:2002-07-24 20:34
既然你做的就是键盘的wdm,那么为什么不用热键作为开关呢?
你可以确定一个组合键为你的开关,在你的wdm里面只要捕捉到了这个组合键就做相应的处理,应该是很容易的吧? |
|
|
地下室#
发布于:2002-07-24 19:49
createfile的时候,打开你创建的那个设备。 :D
|
|
5楼#
发布于:2002-07-24 19:48
直接发给用CreateFile打开句柄的那个驱动。
|
|
6楼#
发布于:2002-07-23 18:34
我也是这样想的,可是控制码发送给谁呢?CreateFile的时候,打开哪个设备?
|
|
7楼#
发布于:2002-07-23 18:11
你想过滤的时候,就从应用程序发送控制码,让驱动程序过滤,不想过滤的时候,发另一个控制码,让驱动直接将IRP转交给下层,应该就可以吧。 ;) ;)
|
|
|
8楼#
发布于:2002-07-23 16:45
不是太明白,主要是我现在的driver建立的是一个filter类型的device,这个东西现在响应这所有键盘的irp,我自己的程序就不知道如何去和它打交道了
|
|
9楼#
发布于:2002-07-23 15:36
应该不难吧。
#define IOCTL_CONTROL_WDM CTL_CODE( \\ FILE_DEVICE_UNKNOWN,\\ 0x803,\\ METHOD_BUFFERED,\\ FILE_ANY_ACCESS) 然后在WDM里用switch(controlcode)作就可以了吧。 |
|
|