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 (包括 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