smh_mouse
驱动牛犊
驱动牛犊
  • 注册日期2003-07-10
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望74点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
阅读:3324回复:6

usb磁盘过滤,为什么scsi例程中cdb->CDB6GENERIC.OperationCode 总为0

楼主#
更多 发布于:2009-08-11 12:01
我是把ddk中filter.c例子增加了IRP_MJ_SCSI例程,在 {36FC9E60-C465-11CF-8056-444553540000} 下增加了LowerFilters="MyDevUpper",然后在service下增加了MyDevUpper。
插入u盘后会cdb->CDB6GENERIC.OperationCode有很多非0,其中还有几个SCSIOP_READ,但是之后就全是0了。
从来没有观察到有SCSIOP_WRITE。
参考了以前的帖子:http://bbs.driverdevelop.com/htm_data/16/0504/90057.html
smh_mouse
驱动牛犊
驱动牛犊
  • 注册日期2003-07-10
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望74点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2009-08-11 13:55
回 楼主(smh_mouse) 的帖子
哦,我发现,插入u盘后,会进入2次 FilterAddDevice 这个例程,在这里我打印 PhysicalDeviceObject->DriverObject->DriverName.Buffer,发现两次都为"\Driver\usbhub"。
可能是我挂接的不对。
我只在 {36FC9E60-C465-11CF-8056-444553540000} 下增加 LowerFilters对么?
smh_mouse
驱动牛犊
驱动牛犊
  • 注册日期2003-07-10
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望74点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2009-08-13 11:09
知道了,ddk中的toaster\filter的例子是usb过滤。
应该用diskperf这个例子,这个例子才是磁盘过滤,是我想要的。在AddDevice中进行判断,如果是 \Driver\USBSTOR 才创建,否则就直接返回,这样就可以只过滤u盘了,而且可以得到扇区的读写数据。
liaohongqi
驱动牛犊
驱动牛犊
  • 注册日期2008-03-18
  • 最后登录2010-01-26
  • 粉丝0
  • 关注0
  • 积分23分
  • 威望33点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地板#
发布于:2009-09-07 10:39
回 2楼(smh_mouse) 的帖子
在AddDevice中进行判断,如果是 \Driver\USBSTOR 才创建,否则就直接返回,这样就可以只过滤u盘了,而且可以得到扇区的读写数据。

如何进行判断?我现在也正需要弄这个,我的QQ是262298219.希望多交流
smh_mouse
驱动牛犊
驱动牛犊
  • 注册日期2003-07-10
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望74点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2009-09-07 20:29
字符串比较PhysicalDeviceObject->DriverObject->DriverName
smh_mouse
驱动牛犊
驱动牛犊
  • 注册日期2003-07-10
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望74点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2009-11-25 11:02
自己结一下吧,为了后人不再走弯路,知识只有传播才有价值.
u盘scsi扇区过滤的话应该在{4D36E967-E325-11CE-BFC1-08002BE10318}下增加LowerFilters.而不是像我先前说的{36FC9E60-C465-11CF-8056-444553540000} 下.
IRP_MJ_SCSI例程中就可以处理SCSIOP_WRITE和SCSIOP_READ了.
feng_zhibing
驱动牛犊
驱动牛犊
  • 注册日期2009-12-11
  • 最后登录2009-12-23
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望191点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2009-12-11 14:36
学习
游客

返回顶部