阅读:2728回复:7
监视硬盘中文件的 创建, 重命名, 删除, 修改.
我想问一下,到底哪一个(或者几个)消息分别对应这些操作啊!
创建:? 删除:? 重命名:? 修改:? 我自己目前是这样理解的: 创建:IRP_MJ_CREATE 删除:IRP_MJ_SET_INFORMATION;IrpSp->Parameters.SetFile.FileInformationClass==FileDispositionInformation 重命名:IRP_MJ_SET_INFORMATION;IrpSp->Parameters.SetFile.FileInformationClass==FileRenameInformation 修改:IRP_MJ_WRITE 不知道哪里有问题 |
|
驱动小牛
![]() |
沙发#
发布于:2008-04-03 11:00
FastioWrite
IRP_MJ_FLUSH也应该注意. |
|
板凳#
发布于:2008-04-03 11:51
删除文件也可能是DELETE_FILE_ON_CLOSE
|
|
|
地板#
发布于:2008-04-03 11:52
删除到回收站可能是个重命名操作
|
|
|
地下室#
发布于:2008-04-04 08:42
这几天刚好在公司实习 做的这是这个
创建:IRP_MJ_CREATE // 这里要考虑是打开文件还是创建文件 删除:IRP_MJ_SET_INFORMATION; IrpSp->Parameters.SetFile.FileInformationClass==FileDispositionInformation // 对应用层意义上的删除 彻底删除可以用这个过滤 而删除到回收站 则是一个重命名的操作 重命名:IRP_MJ_SET_INFORMATION;IrpSp->Parameters.SetFile.FileInformationClass==FileRenameInformation // 重命名分为几种 建议看看OSR的rename文档 修改:IRP_MJ_WRITE |
|
5楼#
发布于:2008-04-05 17:09
楼上的补充我都知道.那是细分的问题。
|
|
6楼#
发布于:2008-04-11 15:05
进入误区。创建和IRP_MJ_CREATE是完全两回事。
|
|
7楼#
发布于:2008-06-11 10:33
磁盘格式化有对应的IRP么?
|
|