jinsehongfeng
驱动牛犊
驱动牛犊
  • 注册日期2010-03-21
  • 最后登录2010-06-13
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望81点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2148回复:9

一个很菜的问题:驱动中如何过滤固定盘符的写操作

楼主#
更多 发布于:2010-04-29 10:31
刚开始学习驱动开发,我现在正做一个磁盘过滤驱动,我得到整个磁盘的写操作后怎么从里面找出来D盘的写操作呢?就是说把D盘的写操作挑出来,我现在不知道要得到D盘要用什么条件?
jinsehongfeng
驱动牛犊
驱动牛犊
  • 注册日期2010-03-21
  • 最后登录2010-06-13
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望81点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2010-04-29 10:42
没人回答吗?各位,知道的帮个忙,我就想实现“在驱动中要捕获指定分区(D分区)的数据”, 但是我不知道怎么区分得到的数据是哪个盘的?
crazy4stef
驱动牛犊
驱动牛犊
  • 注册日期2008-08-24
  • 最后登录2016-01-09
  • 粉丝2
  • 关注0
  • 积分42分
  • 威望425点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2010-04-29 16:19
RtlVolumeDeviceToDosName
jinsehongfeng
驱动牛犊
驱动牛犊
  • 注册日期2010-03-21
  • 最后登录2010-06-13
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望81点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2010-04-29 16:55
回 2楼(crazy4stef) 的帖子
我在IRP_MJ_WRITE中用了,但是currentIrpStack->FileObject == NULL是怎么回事?
jinsehongfeng
驱动牛犊
驱动牛犊
  • 注册日期2010-03-21
  • 最后登录2010-06-13
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望81点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2010-04-29 17:39
回 2楼(crazy4stef) 的帖子
        我在IRP_MJ_WRITE中是这样写的
               PFILE_OBJECT FileObject = currentIrpStack->FileObject;

        if (FileObject == NULL) // 多数为空,不判断的话会蓝屏
        {
            goto Next;          // 每次都走到这了。。。。。。。。
        }
        //获取这个卷的dos名字
        ntStatus = IoVolumeDeviceToDosName(FileObject->DeviceObject, &DosName);
        if (!NT_SUCCESS(ntStatus))
        {
            //
            DbgPrint("获取卷名错误!\r\n");
        }

每次FileObject == NULL是怎么回事啊?
crazy4stef
驱动牛犊
驱动牛犊
  • 注册日期2008-08-24
  • 最后登录2016-01-09
  • 粉丝2
  • 关注0
  • 积分42分
  • 威望425点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2010-04-30 15:42
。。。
你不会只把你的设备绑在D盘上啊,全部绑定了再判断效率低也麻烦
crazy4stef
驱动牛犊
驱动牛犊
  • 注册日期2008-08-24
  • 最后登录2016-01-09
  • 粉丝2
  • 关注0
  • 积分42分
  • 威望425点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2010-04-30 15:45
对了,你看看这个把,应该对你有帮助
http://www.dbgger.com/?t=project
jinsehongfeng
驱动牛犊
驱动牛犊
  • 注册日期2010-03-21
  • 最后登录2010-06-13
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望81点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2010-05-04 00:04
回 5楼(crazy4stef) 的帖子
我实际上要实现禁止除系统盘外其它盘的写操作,但不知道咋判断它写入的地方是不是C盘,用IoVolumeDeviceToDosName不是蓝屏就是得不到值
jinsehongfeng
驱动牛犊
驱动牛犊
  • 注册日期2010-03-21
  • 最后登录2010-06-13
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望81点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2010-05-11 10:35
回 6楼(crazy4stef) 的帖子
谢谢了啊!
jinsehongfeng
驱动牛犊
驱动牛犊
  • 注册日期2010-03-21
  • 最后登录2010-06-13
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望81点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2010-05-17 11:50
回 6楼(crazy4stef) 的帖子
哥们,很抱歉,我不知道怎么结贴,没法给分
游客

返回顶部