Удаление при закрытии
Если вызывающий объект задает параметр FILE_DELETE_ON_CLOSE, то для проверка файловой системы необходимо убедиться, что вызывающий объект имеет разрешение на удаление файла или разрешение на удаление дочернего элемента в родительском каталоге. Для удаления файла достаточно любого разрешения. Это важный случай для обработки файловыми системами. Семантика операции, которая удаляет файл при закрытии, применяется не диспетчером ввода-вывода, а файловой системой.
Файловой системе также может потребоваться проверка, что том не защищен от записи и что эта операция не применяется к каталогу, в котором эта операция не разрешена. Например, код файловой системы FASTFAT проверяет наличие тома, защищенного от записи, и не позволяет удалить корневой каталог с помощью FILE_DELETE_ON_CLOSE. Пример этих проверок можно найти в функции FatCommonCreate в исходном файле Create.c из примера fastfat, содержащегося в WDK.