luobing4365
驱动牛犊
驱动牛犊
  • 注册日期2005-11-29
  • 最后登录2011-06-15
  • 粉丝0
  • 关注2
  • 积分23分
  • 威望53点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2280回复:4

USB过滤驱动开发-只认键鼠

楼主#
更多 发布于:2010-11-15 12:46
本人刚刚开始学习驱动编写,正好老板交了一个任务,写一个usb过滤驱动,使得指定的usb口只能接入usb键盘或鼠标。
目前在这方面的知识无限趋近于0,各位大牛能否指导指导?
另外,市面上是否有这样的驱动可以购买的?
znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
沙发#
发布于:2010-11-15 13:39
如果是所有的端口只认,还容易,如果是指定的,还难办,关键是无法确认那个端口的设备对应物理的哪个设备?
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
luobing4365
驱动牛犊
驱动牛犊
  • 注册日期2005-11-29
  • 最后登录2011-06-15
  • 粉丝0
  • 关注2
  • 积分23分
  • 威望53点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2010-11-17 09:41
是znsoft大牛(先崇拜一下,谢谢您的windbg使用教程^^),指定端口这块,因为是针对固定的机器,可能问题不大。
我是这样思考的,可以通过枚举usb 的root hub来确定对应端口,一个uhci管两个端口,这些可以查看intel的主板资料,
我在dos层是这样去禁止过usb。
不过,假设我不去指定端口,而是对所有的usb口做上述同样的功能需求(只能插键鼠),是不是实现起来要简单很多?
因为我是从底层汇编开始往驱动开发方面转,很多基础知识都不清楚,不知道从哪边可以入手,大牛能否指点一二?
eaatcc
禁止发言
禁止发言
  • 注册日期2006-04-21
  • 最后登录2018-12-27
  • 粉丝0
  • 关注0
  • 积分6884分
  • 威望34869点
  • 贡献值0点
  • 好评度24点
  • 原创分0分
  • 专家分0分
  • 社区居民
地板#
发布于:2010-11-18 17:05
用户被禁言,该主题自动屏蔽!
Pegram
论坛版主
论坛版主
  • 注册日期2005-12-03
  • 最后登录2013-08-23
  • 粉丝13
  • 关注5
  • 积分1333分
  • 威望4717点
  • 贡献值1点
  • 好评度78点
  • 原创分0分
  • 专家分2分
地下室#
发布于:2010-11-25 17:53
给你一个思路:
做一个用户程序,调用IoRegisterDeviceNotification,在收到通知后,判断是不是你的指定端口。然后取新插入设备的设备ID,如果里面没有鼠标或者键盘的兼容ID,就用SetupDDI函数把新插入的设备Disable掉。

用总线驱动过滤的方式,也好实现。但我估计,以你的级别...
《寒江独钓》与《竹林蹊径》的合作作者。精通USB开发,设计了CY001 USB驱动套件(http://bbs.driverdevelop.com/read.php?tid-119314.html)。
游客

返回顶部