структура FILE_DISPOSITION_INFORMATION_EX (ntddk.h)
Структура FILE_DISPOSITION_INFORMATION_EX используется в качестве аргумента для процедуры ZwSetInformationFile и указывает, как операционная система должна удалять файл.
Синтаксис
typedef struct _FILE_DISPOSITION_INFORMATION_EX {
ULONG Flags;
} FILE_DISPOSITION_INFORMATION_EX, *PFILE_DISPOSITION_INFORMATION_EX;
Члены
Flags
Указывает, какие действия должна выполнять система с определенным файлом при удалении.
Имя флага | Ценность | Значение |
---|---|---|
FILE_DISPOSITION_DO_NOT_DELETE | 0x00000000 | Указывает, что система не должна удалять файл. |
FILE_DISPOSITION_DELETE | 0x00000001 | Указывает, что система должна удалить файл. |
FILE_DISPOSITION_POSIX_SEMANTICS | 0x00000002 | Указывает, что система должна выполнять удаление в стиле POSIX. Дополнительные сведения см. в примечаниях. |
FILE_DISPOSITION_FORCE_IMAGE_SECTION_CHECK | 0x00000004 | Указывает, что система должна принудительно проверить раздел изображения. |
FILE_DISPOSITION_ON_CLOSE | 0x00000008 | Указывает, устанавливает ли система или очищает состояние закрытия. |
FILE_DISPOSITION_IGNORE_READONLY_ATTRIBUTE | 0x00000010 | Позволяет удалять файлы только для чтения. Дополнительные сведения см. в разделе "Примечания" ниже. |
Замечания
Вызывающий объект должен иметь доступ DELETE к указанному файлу для вызова ZwSetInformationFile с FILE_DISPOSITION_DELETE.
Если FILE_DISPOSITION_POSIX_SEMANTICS не задано, файл, помеченный для удаления, не удаляется до тех пор, пока все открытые дескрипторы для файла не будут закрыты, а число ссылок для файла равно нулю. При установке FILE_DISPOSITION_POSIX_SEMANTICS ссылка удаляется из видимого пространства имен сразу после закрытия дескриптора удаления POSIX, но потоки данных файла остаются доступными другими существующими дескрипторами до закрытия последнего дескриптора. То есть приложения, которые уже открыли файл, по-прежнему могут использовать их дескриптор для чтения и записи, даже если имя, которое они использовали для открытия, исчезло, и число ссылок файла, возможно, достигло нуля.
Если файл удаляется по запросу пользователя, использование семантики POSIX позволяет системе удалять файл по запросу, но также позволяет любому процессу с открытым дескриптором продолжать доступ к данным файла до тех пор, пока дескриптор открыт.
Возвращаемое значение STATUS_CANNOT_DELETE указывает, что файл доступен только для чтения или существует существующее сопоставленное представление с файлом.
Требования
Требование | Ценность |
---|---|
заголовка | ntddk.h (include Ntddk.h, Ntifs.h) |