关闭时删除

当调用方指定FILE_DELETE_ON_CLOSE选项时,文件系统必须检查,以确保调用方对文件具有删除权限或对父目录的删除子权限。 任一权限都足以允许删除文件。 这是文件系统要处理的重要情况。 操作的语义(在文件关闭时删除该文件)不是由 I/O 管理器强制执行的,而是由文件系统强制执行的。

文件系统可能还需要检查卷不受写入保护,并且此操作不适用于不允许此操作的目录。 例如,FASTFAT 文件系统代码会检查写保护卷,不允许使用 FILE_DELETE_ON_CLOSE 删除根目录。 可以从 WDK 包含的 fastfat 示例中的 Create.c 源文件中的 FatCommonCreate 函数中找到这些检查的示例。