【发布时间】:2020-02-10 08:09:24
【问题描述】:
使用 NT 原生函数 NtCreateFile 可以使用 FILE_OPEN_BY_FILE_ID 创建选项按 id 打开文件。但是,在这样做时,DELETE 访问标志似乎被忽略了。如果我设置它,文件将正常打开,但任何删除或重命名文件的尝试都会失败(例如,通过设置 FILE_DELETE_ON_CLOSE 或使用 FILE_RENAME_INFORMATION 类和 NtSetInformationFile)。
这样打开的文件不能删除吗?有没有其他方法可以通过 id 而不是 name 来删除文件?
【问题讨论】:
-
hmm .. 我只是测试自己 - 真的文件没有被删除,
STATUS_INVALID_PARAMETERFileRenameInformation- 所以我从一开始就错了。现在寻找更多细节。 -
是的,我完全错了。 ntfs 确实不允许 raname 或删除由 id 打开的文件
-
我想你可以在这里问这个问题 - community.osr.com/categories/ntfsd - 此类主题的最佳论坛