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

Указатель на объект file для файла. Этот параметр является обязательным и не может иметь значение 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 (включая 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