fslife
驱动大牛
驱动大牛
  • 注册日期2004-06-07
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望49点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
阅读:1368回复:11

请教一个设备过滤的问题??

楼主#
更多 发布于:2004-11-05 12:03
想通过过滤驱动实现对设备访问的控制。
设备的种类包括:cdrom,serial,parport,usb disk,floppy disk等等。
其中关于设备名称(Device name)有一个问题:
例如cdrom的设备名称一般为DeviceCdRom0,DeviceCdRom1等,串口的设备名称为DeviceSerial0。但是usb disk的设备名称好像不固定,我利用DeviceTree工具查看发现,U盘的设备名称是一个类似Device0000072的东东。

还有,如果要对这些设备都进行访问过滤控制,有没有什么办法可以一次实现,而不用逐一设备进行过滤。

请大虾给指点一下。

[编辑 -  11/5/04 by  fslife]
在交流中学习。。。
AllenZh
驱动老牛
驱动老牛
  • 注册日期2001-08-19
  • 最后登录2015-11-27
  • 粉丝19
  • 关注10
  • 积分1316分
  • 威望2387点
  • 贡献值7点
  • 好评度321点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-11-05 13:05
一次实现恐怕不可能
只写一个driver到是没有问题,但驱动一定会很复杂

00000072这样的名字是系统产生的(因为USB等符合WDM规范,使用了GUID来命名,所以是这样)
1,承接Windows下驱动/应用开发 2,本人原创虚拟鼠标/键盘,触摸屏,虚拟显卡,Mirror驱动,XP无盘的SCSI虚拟磁盘驱动等 3,windows下有尝技术服务(包括BUG调试,员工培训等) 欢迎深圳和海外企业联系.msn:mfczmh@sina.com
fslife
驱动大牛
驱动大牛
  • 注册日期2004-06-07
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望49点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-11-05 13:49
一次实现恐怕不可能
只写一个driver到是没有问题,但驱动一定会很复杂

00000072这样的名字是系统产生的(因为USB等符合WDM规范,使用了GUID来命名,所以是这样)


谢谢AllenZh!!

请问如果要写过滤对U盘的访问,如何得到设备对象?
在交流中学习。。。
GeorgeSun
驱动牛犊
驱动牛犊
  • 注册日期2003-10-08
  • 最后登录2007-06-18
  • 粉丝0
  • 关注0
  • 积分32分
  • 威望7点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-11-05 14:21
弱弱地问一下:如果要驱动过滤对设备的访问控制,譬如CDROM,是不是要通过IoCreateDevice FILE_DEVICE_CD_ROM ,然后在DrvDispatch中拦截IRP啊?
虚心学习中......
AllenZh
驱动老牛
驱动老牛
  • 注册日期2001-08-19
  • 最后登录2015-11-27
  • 粉丝19
  • 关注10
  • 积分1316分
  • 威望2387点
  • 贡献值7点
  • 好评度321点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-11-05 14:34
弱弱地问一下:如果要驱动过滤对设备的访问控制,譬如CDROM,是不是要通过IoCreateDevice FILE_DEVICE_CD_ROM ,然后在DrvDispatch中拦截IRP啊?

是有点弱 :P
设置为FILE_DEVICE_CD_ROM并不重要,关键是你要和CDROM连接上
1,承接Windows下驱动/应用开发 2,本人原创虚拟鼠标/键盘,触摸屏,虚拟显卡,Mirror驱动,XP无盘的SCSI虚拟磁盘驱动等 3,windows下有尝技术服务(包括BUG调试,员工培训等) 欢迎深圳和海外企业联系.msn:mfczmh@sina.com
AllenZh
驱动老牛
驱动老牛
  • 注册日期2001-08-19
  • 最后登录2015-11-27
  • 粉丝19
  • 关注10
  • 积分1316分
  • 威望2387点
  • 贡献值7点
  • 好评度321点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-11-05 14:37


谢谢AllenZh!!

请问如果要写过滤对U盘的访问,如何得到设备对象?

和普通的差不多,连接上就可以了
1,承接Windows下驱动/应用开发 2,本人原创虚拟鼠标/键盘,触摸屏,虚拟显卡,Mirror驱动,XP无盘的SCSI虚拟磁盘驱动等 3,windows下有尝技术服务(包括BUG调试,员工培训等) 欢迎深圳和海外企业联系.msn:mfczmh@sina.com
fslife
驱动大牛
驱动大牛
  • 注册日期2004-06-07
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望49点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-11-05 15:12
[quote]

谢谢AllenZh!!

请问如果要写过滤对U盘的访问,如何得到设备对象?

和普通的差不多,连接上就可以了 [/quote]

无论是IoAttachDeviceToDeviceStack还是IoAttachDevice,都得先得到TargetDevice(类型为PDEVICE_OBJECT 或者 PUNICODE_STRING),但是不知道U盘设备的名称,怎么得到这个TargetDevice。

不知道我的理解有没有问题。
在交流中学习。。。
fslife
驱动大牛
驱动大牛
  • 注册日期2004-06-07
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望49点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-11-08 11:32
各位帮我再看看这个问题,谢谢!
在交流中学习。。。
dj_ukyo
驱动小牛
驱动小牛
  • 注册日期2003-03-13
  • 最后登录2009-06-02
  • 粉丝0
  • 关注0
  • 积分118分
  • 威望16点
  • 贡献值0点
  • 好评度14点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2004-11-24 15:13
请问通过过滤器来实现,能够实现用户访问控制吗,还是仅仅是起停设备?
还有是所有设备开发一个过滤器,还是针对每种设备各自开发一个过滤器?
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
9楼#
发布于:2004-11-25 13:47
各位帮我再看看这个问题,谢谢!

对于U盘的问题可以参考SFILTER的方法,在MOUNT的时候进行拦截.
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
fslife
驱动大牛
驱动大牛
  • 注册日期2004-06-07
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望49点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2004-11-25 13:58
多谢各位指点了,谢谢!!
在交流中学习。。。
zhjie374
驱动小牛
驱动小牛
  • 注册日期2004-10-27
  • 最后登录2012-01-17
  • 粉丝2
  • 关注1
  • 积分17分
  • 威望144点
  • 贡献值1点
  • 好评度21点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2005-03-28 16:40
我现在也遇到这个问题了

请问楼主是怎么解决的?
游客

返回顶部