FltQueryEaFile 函数 (fltkernel.h)

FltQueryEaFile 返回有关文件的扩展属性 (EA) 值的信息。

语法

NTSTATUS FLTAPI FltQueryEaFile(
  [in]            PFLT_INSTANCE Instance,
  [in]            PFILE_OBJECT  FileObject,
  [out]           PVOID         ReturnedEaData,
  [in]            ULONG         Length,
  [in]            BOOLEAN       ReturnSingleEntry,
  [in, optional]  PVOID         EaList,
  [in]            ULONG         EaListLength,
  [in, optional]  PULONG        EaIndex,
  [in]            BOOLEAN       RestartScan,
  [out, optional] PULONG        LengthReturned
);

参数

[in] Instance

要发送到 QueryEa作的微型筛选器驱动程序实例的不透明实例指针。 实例必须附加到文件所在的卷。

[in] FileObject

文件的文件对象指针。

[out] ReturnedEaData

指向要返回扩展属性值的调用方提供的 FILE_FULL_EA_INFORMATION结构化输入缓冲区的指针。

[in] Length

ReturnedEaData 参数指向的缓冲区的长度(以字节为单位)。

[in] ReturnSingleEntry

如果 FltQueryEaFile 应仅返回找到的第一个条目,则设置为 TRUE

[in, optional] EaList

指向调用方提供的 FILE_GET_EA_INFORMATION结构化输入缓冲区的指针,该缓冲区指定要查询的扩展属性。 此参数是可选的,可以 NULL

[in] EaListLength

EaList 参数指向的缓冲区的长度(以字节为单位)。

[in, optional] EaIndex

开始扫描文件的扩展属性列表的条目的索引。 如果 EaList 参数指向 nonempty 列表,则忽略此参数。 此参数是可选的,可以 NULL

[in] RestartScan

如果 FltQueryEaFile 应在文件的扩展属性列表中的第一个条目处开始扫描,则设置为 TRUE。 如果未将此参数设置为 TRUE,则扫描将从上一次 调用 fltQueryEaFile恢复。

[out, optional] LengthReturned

指向调用方分配的变量的指针,该变量接收 ReturnedEaData 缓冲区中返回的信息的大小(以字节为单位)。 此参数是可选的,可以 NULL

返回值

FltQueryEaFile 返回STATUS_SUCCESS或相应的 NTSTATUS 值,如下所示:

返回代码 描述
STATUS_EAS_NOT_SUPPORTED
文件系统不支持扩展属性。 这是一个错误代码。
STATUS_FLT_DELETING_OBJECT
正在拆毁实例或卷。 这是一个错误代码。
STATUS_INSUFFICIENT_RESOURCES
FltQueryEaFile 遇到池分配失败。 这是一个错误代码。

要求

要求 价值
最低支持的客户端 适用于 SP4、Windows XP SP3、Windows Server 2003 SP1 和更高版本的 Windows作系统Microsoft Windows 2000 更新汇总 1。
目标平台 普遍
标头 fltkernel.h (包括 Fltkernel.h)
FltMgr.lib
DLL Fltmgr.sys
IRQL PASSIVE_LEVEL

另请参阅

FILE_FULL_EA_INFORMATION

FILE_GET_EA_INFORMATION

FltSetEaFile

IoCheckEaBufferValidity