Поделиться через


Функция 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

См. также

FILE_ALLOCATION_INFORMATION

FILE_BASIC_INFORMATION

FILE_DISPOSITION_INFORMATION

FILE_END_OF_FILE_INFORMATION

FILE_LINK_INFORMATION

FILE_POSITION_INFORMATION

FILE_RENAME_INFORMATION

FILE_VALID_DATA_LENGTH_INFORMATION

FltQueryInformationFile

FltQueryVolumeInformationFile

ZwSetInformationFile