微型筛选器在文件预创建期间调用 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) | 如果设置,文件系统将在 QUERY_ON_CREATE_FILE_LX_INFORMATION 结构中存储扩展的类似 Linux 的信息以供检索。 |
| 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 的创建操作。 |
言论
微型筛选器可以通过在创建后调用 FltRetrieveFileInfoOnCreateCompletionEx 或 FltRetrieveFileInfoOnCreateCompletion 来检索文件信息。 以这种方式请求和检索文件信息时,微筛选器的性能通常更好,而不是稍后查询文件信息。
要求
| 要求 | 价值 |
|---|---|
| 支持的最低客户端 | Windows 10 版本 1809 |
| 页眉 | fltkernel.h (包括 Fltkernel.h) |