阅读:2450回复:4
USB过滤驱动开发-只认键鼠
本人刚刚开始学习驱动编写,正好老板交了一个任务,写一个usb过滤驱动,使得指定的usb口只能接入usb键盘或鼠标。
目前在这方面的知识无限趋近于0,各位大牛能否指导指导? 另外,市面上是否有这样的驱动可以购买的? |
|
沙发#
发布于:2010-11-15 13:39
如果是所有的端口只认,还容易,如果是指定的,还难办,关键是无法确认那个端口的设备对应物理的哪个设备?
|
|
|
板凳#
发布于:2010-11-17 09:41
是znsoft大牛(先崇拜一下,谢谢您的windbg使用教程^^),指定端口这块,因为是针对固定的机器,可能问题不大。
我是这样思考的,可以通过枚举usb 的root hub来确定对应端口,一个uhci管两个端口,这些可以查看intel的主板资料, 我在dos层是这样去禁止过usb。 不过,假设我不去指定端口,而是对所有的usb口做上述同样的功能需求(只能插键鼠),是不是实现起来要简单很多? 因为我是从底层汇编开始往驱动开发方面转,很多基础知识都不清楚,不知道从哪边可以入手,大牛能否指点一二? |
|
地板#
发布于:2010-11-18 17:05
用户被禁言,该主题自动屏蔽! |
|
地下室#
发布于:2010-11-25 17:53
给你一个思路:
做一个用户程序,调用IoRegisterDeviceNotification,在收到通知后,判断是不是你的指定端口。然后取新插入设备的设备ID,如果里面没有鼠标或者键盘的兼容ID,就用SetupDDI函数把新插入的设备Disable掉。 用总线驱动过滤的方式,也好实现。但我估计,以你的级别... |
|
|