Функция FltSetInformationFile (fltkernel.h)
FltSetInformationFile задает сведения для заданного файла.
Синтаксис
NTSTATUS FLTAPI FltSetInformationFile(
[in] PFLT_INSTANCE Instance,
[in] PFILE_OBJECT FileObject,
[in] PVOID FileInformation,
[in] ULONG Length,
[in] FILE_INFORMATION_CLASS FileInformationClass
);
Параметры
[in] Instance
Указатель непрозрачного экземпляра для вызывающего объекта. Этот параметр является обязательным и не может быть null.
[in] FileObject
Указатель объекта файла. Этот параметр является обязательным и не может быть null.
[in] FileInformation
Указатель на выделенный вызывающим буфером, который содержит сведения, которые нужно задать для файла. Параметр FileInformationClass указывает тип информации. Этот параметр является обязательным и не может быть null.
[in] Length
Размер в байтах буфера FileInformation.
[in] FileInformationClass
Указывает тип информации, которую нужно задать для файла. Определены следующие значения.
Ценность | Значение |
---|---|
FileAllocationInformation | Задайте FILE_ALLOCATION_INFORMATION для файла. |
FileBasicInformation | Задайте FILE_BASIC_INFORMATION для файла. |
FileDispositionInformation | Задайте FILE_DISPOSITION_INFORMATION для файла. |
FileEndOfFileInformation | Задайте FILE_END_OF_FILE_INFORMATION для файла. |
FileLinkInformation | Задайте FILE_LINK_INFORMATION для файла. |
FilePositionInformation | Задайте FILE_POSITION_INFORMATION для файла. |
FileRenameInformation | Задайте FILE_RENAME_INFORMATION для файла. Дополнительные сведения о переименовании файлов см. в следующем разделе "Примечания". |
FileValidDataLengthInformation | Задайте FILE_VALID_DATA_LENGTH_INFORMATION для файла. |
Возвращаемое значение
FltSetInformationFile возвращает STATUS_SUCCESS или соответствующее значение NTSTATUS.
Замечания
Драйвер мини-фильтра вызывает FltSetInformationFile задать сведения для заданного файла. В настоящее время файл должен быть открыт.
Операция переименования файла накладывает следующее ограничение на значения параметров, передаваемые в FltSetInformationFile: как указано в справочной записи для FILE_RENAME_INFORMATION, файл или каталог можно переименовать только в томе. Другими словами, операция переименования не может привести к перемещению файла или каталога в другой том. В отличие от ZwSetInformationFile, FltSetInformationFile не проверяет содержимое структуры FILE_RENAME_INFORMATION. Таким образом вызывающий объект FltSetInformationFile отвечает за обеспечение того, что новое имя файла или каталога находится на томе, что и старое имя.
Драйверы минифильтра должны использовать FltSetInformationFile, а не ZwSetInformationFileдля переименования файла.
Требования
Требование | Ценность |
---|---|
целевая платформа | Всеобщий |
заголовка | fltkernel.h (include Fltkernel.h) |
библиотеки | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | PASSIVE_LEVEL |