阅读:1543回复:2
HookZwSetInformationFile中如何打开将要被删除的文件?
我在程序中要实现文件防止删除,大概的流程是:
HookZwSetInformationFile() { …… 计算被删除文件的hash值;//其中用ZwCreateFile打开文件 hash值在白名单中,拒绝删除; …… } 但是,在用ZwCreateFile打开文件的时候总是返回失败。打开将要被删除的文件的代码是这样写的: ntStatus = ZwCreateFile(&hFileHandle, SYNCHRONIZE|FILE_READ_DATA, &objAttributes, &IoStatus, NULL, 0, FILE_SHARE_READ|FILE_SHARE_WRITE, FILE_OPEN, FILE_SYNCHRONOUS_IO_NONALERT|FILE_NON_DIRECTORY_FILE, NULL, 0); 请高手指点这是怎么回事? |
|
沙发#
发布于:2009-04-12 18:14
回 楼主(carp111111) 的帖子
是不是因为ZwSetInformationFile系统调用发出去后,IO管理器将对该文件的操作做了相应的标识,在该操作没有完成之前,其他所有针对该文件的操作都无法进行?请高手指点。 |
|
板凳#
发布于:2009-04-15 21:36
错误代码也不发上来?修改共享标识或直接用setinformation传入的句柄
|
|