структура 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 (включая Ntddk.h, Ntifs.h) |