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

jinsehongfengtiger 2010-04-29 10:56:25
刚开始学习驱动开发,我现在正做一个磁盘过滤驱动,我得到整个磁盘的写操作后怎么从里面找出来D盘的写操作呢?就是说把D盘的写操作挑出来,我现在不知道要得到D盘要用什么条件?

各位,知道的帮个忙,我就想实现“在磁盘过滤驱动中要捕获指定分区(D分区)的数据”, 但是我不知道怎么区分得到的请求中的写数据是往哪个盘写的?
...全文
167 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
船过水无痕 2010-05-05
  • 打赏
  • 举报
回复
currentIrpStack->FileObject == NULL 只能说明当前irp的文件对象为空,而不能说明是IoVolumeDeviceToDosName的问题,原型:
NTSTATUS IoVolumeDeviceToDosName( __in PVOID VolumeDeviceObject,__out PUNICODE_STRING DosName
);
这个函数对象是作为输入参数进行传入,所以FileObject为NULL,跟这个函数无任何关系! 自然也就什么都没!
jinsehongfengtiger 2010-05-01
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 liuyu60305002 的回复:]

IoVolumeDeviceToDosName 哪都能用!
[/Quote]

但为什么currentIrpStack->FileObject == NULL呢?
尹成 2010-04-30
  • 打赏
  • 举报
回复
楼上正解!
船过水无痕 2010-04-30
  • 打赏
  • 举报
回复
IoVolumeDeviceToDosName 哪都能用!
jinsehongfengtiger 2010-04-29
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 shenyi0106 的回复:]

在IRP_WRITE中过滤
[/Quote]
我在IRP_MJ_WRITE中用IoVolumeDeviceToDosName,但是currentIrpStack->FileObject == NULL是怎么回事?是不是这个函数只能在文件驱动中用啊?
lfxyan 2010-04-29
  • 打赏
  • 举报
回复
谢谢指教,学习中。。。。
shenyi0106 2010-04-29
  • 打赏
  • 举报
回复
在IRP_WRITE中过滤
尹成 2010-04-29
  • 打赏
  • 举报
回复
帖子都沉底了,帮楼主顶下

2,640

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧