阅读:1308回复:10
钻牛角尖
我在用filemon监控某一目录时(D:\\test),当我从D:盘其他目录下移动(MOVE)一个文件到D:\\test时,只监控到一个I/O请求IRP_MJ_CREATE,请问怎样判断这个请求是由于MOVE文件产生的呢???(即判断文件的MOVE事件)
|
|
沙发#
发布于:2005-04-08 09:04
钻牛角尖
|
|
板凳#
发布于:2005-04-08 16:24
why?
|
|
地板#
发布于:2005-04-08 16:41
IRP_MJ_SET_INFORMATION
|
|
地下室#
发布于:2005-04-08 17:04
IRP_MJ_SET_INFORMATION 老大又解决了我一个问题,哈哈,还不用给分:D:D。 我看了下帮助,是不是根据IRP_MJ_SET_INFORMATION的 IrpSp->Parameters.SetFile.FileInformationClass 参数判断?? 如果是FileRenameInformation那么根据Irp->AssociatedIrp.SystemBuffer 里的参数就可以判断了? |
|
5楼#
发布于:2005-04-08 17:12
直接重命名一个文件产生
IRP_MJ_SET_INFORMATION(FileRenameInformation) 移动一个文件也是产生 IRP_MJ_SET_INFORMATION(FileRenameInformation) 这该怎样区分呢??? |
|
6楼#
发布于:2005-04-08 17:29
直接重命名一个文件产生 看FILE_RENAME_INFORMATION的帮助里面RootDirectory参数是NULL的时候是重命名吧?没仔细看。。。 |
|
7楼#
发布于:2005-04-11 09:13
很奇怪啊!!!我在用filemon4.3监控目录D:\\test时,当我从D:\\target目录下移动(MOVE)一个文件到D:\\test时,对于D:\\test只监控到一个I/O请求IRP_MJ_CREATE,此外就没有任何操作事件了,真是奇怪啊!!!
|
|
8楼#
发布于:2005-04-11 09:34
可以参考一下OSR白皮书里面的Cracking rename operations,里面讲解的很详细
|
|
9楼#
发布于:2005-04-11 09:54
这篇文章我看过了,这是rename的三种情况,通常走的是Fully Qualified Rename方式,请问move走的是那种方式呢?
还有就是上面我所说的对于目标文件夹为什么只有一个IRP_MJ_CREATE产生呢? |
|
10楼#
发布于:2005-04-11 10:25
非常感谢斑竹tooflat的提醒,再看一遍文章又有了新的收获啊:),非常非常感谢。
|
|