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 |