ZwSetInformationFile删除文件的FileInformationClass值

waltsin 2009-04-12 06:33:48
我想监视文件的删除操作,Hook了ZwSetInformationFile,却发现,使用Shift+Delete删除文件的时候FileInformationClass值是FileDispositionInformation,但是使用Delete删除的时候,得不到FileInformationClass的值。不知道是什么原因,是不是Delete删除文件的时候用这个函数监视不到啊?
还请前辈们不吝赐教,谢谢
...全文
337 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
jnkandy 2009-04-15
  • 打赏
  • 举报
回复
Delete删除文件的时候用这个函数监视的到,感觉你代码没问题,你再看看别的地方是不是别的地方的问题
删除到回收站时值是FileRenameInformation
waltsin 2009-04-13
  • 打赏
  • 举报
回复
谢谢。
但是我却没有捕捉到这个移动操作,下面是我的部分代码:

NTSTATUS MyZwSetInformationFile(......)
{
switch(FileInformationClass)
{
case FileRenameInformation:
DbgPrint("FileRenameInformation\n");
break;
case FileBasicInformation:
DbgPrint("FileBasicInformation\n");
break;
case FileDispositionInformation:
DbgPrint("FileDispositionInformation\n");
break;
case FileEndOfFileInformation:
DbgPrint("FileEndOfFileInformation\n");
break;
case FileLinkInformation:
DbgPrint("FileLinkInformation\n");
break;
case FilePositionInformation:
DbgPrint("FilePositionInformation\n");
break;
case FileShortNameInformation:
DbgPrint("FileShortNameInformation\n");
break;
case FileValidDataLengthInformation:
DbgPrint("FileValidDataLengthInformation\n");
break;
default:
DbgPrint("Other parameter\n");
}
//然后解析出文件名,并打印出来
......
}

使用这段代码测试时,我将一个文件拖动到其他目录下,可以看到有FileRenameInformation的记录,但是使用Delete键删除文件的时候没有找到这条记录,还请前辈指点。
cnzdgs 2009-04-12
  • 打赏
  • 举报
回复
删除到回收站是把文件移动到回收站目录里面,FileRenameInformation。

21,595

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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