xx_qiang
驱动小牛
驱动小牛
  • 注册日期2004-07-30
  • 最后登录2017-02-27
  • 粉丝2
  • 关注1
  • 积分31分
  • 威望249点
  • 贡献值0点
  • 好评度171点
  • 原创分0分
  • 专家分0分
  • 社区居民
阅读:2172回复:7

菜鸟问题:如何获得usb插入拔出消息?

楼主#
更多 发布于:2005-07-27 17:31
  如题。文件系统过滤驱动能收到这个消息吗?能的话,是什么呢?

最新喜欢:

cyliucyliu
joshua_yu
驱动小牛
驱动小牛
  • 注册日期2004-12-06
  • 最后登录2010-12-01
  • 粉丝0
  • 关注0
  • 积分428分
  • 威望54点
  • 贡献值0点
  • 好评度41点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-07-28 08:54
去看看sfilter的代码吧,可以通过注册文件系统注册变更通知回调函数来实现,也就是调用IoRegisterFsRegistrationChange
bmyyyud
驱动老牛
驱动老牛
  • 注册日期2002-02-22
  • 最后登录2010-01-21
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望130点
  • 贡献值0点
  • 好评度106点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-07-28 10:26
下面是引用joshua_yu于2005-07-28 08:54发表的:
去看看sfilter的代码吧,可以通过注册文件系统注册变更通知回调函数来实现,也就是调用IoRegisterFsRegistrationChange

说得不对
是IRP_MN_MOUNT_VOLUME和IRP_MN_USER_FS_REQUEST(至于minor func自己找)
滚滚长江东逝水 浪花淘尽英雄 是非成败转头空 青山依旧在 几度夕阳红 白发渔樵江渚上 惯看秋月春风 一壶浊酒喜相逢 古今多少事 尽付笑谈中
wywwwl
驱动大牛
驱动大牛
  • 注册日期2002-08-16
  • 最后登录2018-04-07
  • 粉丝1
  • 关注0
  • 积分-10分
  • 威望135点
  • 贡献值6点
  • 好评度76点
  • 原创分0分
  • 专家分0分
  • 社区居民
地板#
发布于:2005-07-28 11:05
usb拔出了,文件系统是可以获得这个消息的!不过你要hook IRP_MJ_PNP 对应的历程。子消息码为:
正常拔出:IRP_MJ_PNP 的IRP_MN_QUERY_REMOVE_DEVICE
非正常拔出9(硬拔):IRP_MJ_PNP 的IRP_MN_SURPRISE_REMOVAL
琢磨悟真知
joshua_yu
驱动小牛
驱动小牛
  • 注册日期2004-12-06
  • 最后登录2010-12-01
  • 粉丝0
  • 关注0
  • 积分428分
  • 威望54点
  • 贡献值0点
  • 好评度41点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-07-28 18:34
下面是引用bmyyyud于2005-07-28 10:26发表的:

说得不对
是IRP_MN_MOUNT_VOLUME和IRP_MN_USER_FS_REQUEST(至于minor func自己找)


老大,如果你在DriverEntry中不调用IoRegisterFsRegistrationChange,单单注册IRP_MJ_FILE_SYSTEM_CONTROL处理例程以及处理IRP_MN_MOUNT_VOLUME是收不到U盘挂接请求的,这个我在Filemon中测试过。
joshua_yu
驱动小牛
驱动小牛
  • 注册日期2004-12-06
  • 最后登录2010-12-01
  • 粉丝0
  • 关注0
  • 积分428分
  • 威望54点
  • 贡献值0点
  • 好评度41点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2005-07-28 19:18
下面是引用wywwwl于2005-07-28 11:05发表的:
usb拔出了,文件系统是可以获得这个消息的!不过你要hook IRP_MJ_PNP 对应的历程。子消息码为:
正常拔出:IRP_MJ_PNP 的IRP_MN_QUERY_REMOVE_DEVICE
非正常拔出9(硬拔):IRP_MJ_PNP 的IRP_MN_SURPRISE_REMOVAL


这位老大的方法我测试了一下确实可以,不过首先还是需要attach到这个u盘上,这样还是存在怎样拦截u盘挂接请求的问题,这个恐怕hook IRP_MJ_PNP就不行了吧。
bmyyyud
驱动老牛
驱动老牛
  • 注册日期2002-02-22
  • 最后登录2010-01-21
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望130点
  • 贡献值0点
  • 好评度106点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2005-07-29 10:03
下面是引用joshua_yu于2005-07-28 18:34发表的:


老大,如果你在DriverEntry中不调用IoRegisterFsRegistrationChange,单单注册IRP_MJ_FILE_SYSTEM_CONTROL处理例程以及处理IRP_MN_MOUNT_VOLUME是收不到U盘挂接请求的,这个我在Filemon中测试过。

当然,你不上车,怎知道售票员是怎么买票的
滚滚长江东逝水 浪花淘尽英雄 是非成败转头空 青山依旧在 几度夕阳红 白发渔樵江渚上 惯看秋月春风 一壶浊酒喜相逢 古今多少事 尽付笑谈中
xhd_fzfj
驱动牛犊
驱动牛犊
  • 注册日期2003-01-27
  • 最后登录2010-07-13
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望8点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2005-07-31 10:46
小弟也有同样的一个问题,不过USB设备不是U盘,是自已开发的一个设备。
游客

返回顶部