FltRequestFileInfoOnCreateCompletion 函数 (fltkernel.h)

微筛选器在文件预创建期间调用 FltRequestFileInfoOnCreateCompletion ,以请求文件系统存储文件信息,以便在创建后进行检索。

语法

NTSTATUS FLTAPI FltRequestFileInfoOnCreateCompletion(
  PFLT_FILTER        Filter,
  PFLT_CALLBACK_DATA Data,
  ULONG              InfoClassFlags
);

参数

Filter

唯一标识微筛选器驱动程序的不透明筛选器指针。

Data

指向表示 I/O 创建操作 的FLT_CALLBACK_DATA 回调数据的指针。

InfoClassFlags

标记位掩码,指示文件系统在创建后期间应存储以供检索的文件信息的类型。 可以是以下标志的任意组合:

标志 含义
QoCFileStatInformation (0x00000001) 如果设置,文件系统会将文件统计信息存储在 QUERY_ON_CREATE_FILE_STAT_INFORMATION 结构中以供检索。
QoCFileLxInformation (0x00000002) 如果设置,文件系统会将类似 Linux 的扩展信息存储在 QUERY_ON_CREATE_FILE_LX_INFORMATION 结构中以供检索。
QoCFileEaInformation (0x00000004) 如果设置,文件系统会将 EA) (扩展属性存储在 QUERY_ON_CREATE_EA_INFORMATION 结构中以供检索。
QoCFileUsnInformation (0x00000008) 如果设置,文件系统会将 USN 信息存储在 QUERY_ON_CREATE_USN_INFORMATION 结构中以供检索。

返回值

FltRequestFileInfoOnCreateCompletion 可以返回以下值之一:

返回代码 说明
STATUS_SUCCESS 文件系统已成功存储请求的文件信息。
STATUS_INSUFFICIENT_RESOURCES FltRequestFileInfoOnCreateCompletion 无法分配足够的内存来存储请求的文件信息。
STATUS_INVALID_PARAMETER_2 提供的回调数据对象不是基于 IRP 的创建操作。

注解

微筛选器可以通过在创建后期间调用 FltRetrieveFileInfoOnCreateCompletionExFltRetrieveFileInfoOnCreateCompletion 来检索文件信息。 当以这种方式请求和检索文件信息时,微筛选器的性能通常更好,而不是以后查询文件信息。

要求

要求
Header fltkernel.h (包括 Fltkernel.h)

另请参阅

FLT_CALLBACK_DATA

FltRetrieveFileInfoOnCreateCompletion

FltRetrieveFileInfoOnCreateCompletionEx