MagicFuzzX
驱动牛犊
驱动牛犊
  • 注册日期2011-11-04
  • 最后登录2015-11-24
  • 粉丝2
  • 关注1
  • 积分31分
  • 威望271点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:3038回复:8

使用toaster\wdm\filter对U盘进行控制的几个问题

楼主#
更多 发布于:2012-03-01 16:27
我是在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E967-E325-11CE-BFC1-08002BE10318}(Disk Driver)下面增加一个Lowerfilter。

1.对U盘的识别问题,有人在AddDevice例程进行判断,不过这个例程应该只是在驱动初始化的时候调用一次,那么在驱动初始化后再插入的U盘如何识别呢?

2.如何读取U盘的指定扇区,在哪里读取呢?
MagicFuzzX
驱动牛犊
驱动牛犊
  • 注册日期2011-11-04
  • 最后登录2015-11-24
  • 粉丝2
  • 关注1
  • 积分31分
  • 威望271点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2012-03-02 13:06
回 catface 的帖子
catface:你加的是类驱动 所有USB 能正常工作的流程下 都会被这个驱动过滤到  不是驱动初始化调用一次  而是每次有设备被过滤到 就ADDDEVICE一次 这个可以动手实验
 
读取磁盘扇区 获取磁盘的设备名或者设备指针或者设备句柄  
使用READFILE 就可以
(2012-03-02 10:04)

Zwreadfile可以吗?我看到很多人都是自己构造SRB发送IRP啊
MagicFuzzX
驱动牛犊
驱动牛犊
  • 注册日期2011-11-04
  • 最后登录2015-11-24
  • 粉丝2
  • 关注1
  • 积分31分
  • 威望271点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2012-03-02 16:39
如何判断U盘啊,在disk Lowerfilter下面如何判断啊
MagicFuzzX
驱动牛犊
驱动牛犊
  • 注册日期2011-11-04
  • 最后登录2015-11-24
  • 粉丝2
  • 关注1
  • 积分31分
  • 威望271点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2012-03-03 19:14
回 catface 的帖子
catface:// Create IRP Get The BusType
// 创建IRP 查询设备的BUSTYPE类型  为7 则说明是USB设备
  //
  status = FltGetDiskDeviceObject(FltObjects->Volume, &DiskDeviceObject);
  if (status == STATUS_FLT_NO_DEVICE_OBJECT )
... .. (2012-03-03 14:38)

这个是在文件过滤驱动下用的吧。。。。我现在是disk lowerfilter。。
游客

返回顶部