FsRtlQueryKernelEaFile 函数 (ntifs.h)
FsRtlQueryKernelEaFile 例程用于生成显式 QueryEA 请求,并同步等待它完成,并返回结果。 这允许调用方通过 FileObject 而不是句柄执行此操作。
语法
NTSTATUS FsRtlQueryKernelEaFile(
[in] PFILE_OBJECT FileObject,
[out] PVOID ReturnedEaData,
[in] ULONG Length,
[in] BOOLEAN ReturnSingleEntry,
[in] PVOID EaList,
[in] ULONG EaListLength,
[in, optional] PULONG EaIndex,
[in] BOOLEAN RestartScan,
[out, optional] PULONG LengthReturned
);
参数
[in] FileObject
指向要向其发送 QueryEA 请求的 FileObject 的指针。
[out] ReturnedEaData
指向调用方提供的 FILE_FULL_EA_INFORMATION结构化输出缓冲区的指针,其中将返回扩展属性值。
[in] Length
指定 ReturnedEaData 的长度(以字节为单位)
[in] ReturnSingleEntry
指定是否只应返回单个条目,而不是用尽可能多的 EA 填充缓冲区。
[in] EaList
指向调用方提供的 FILE_GET_EA_INFORMATION结构化输入缓冲区的指针,该缓冲区指定要查询的扩展属性。 此参数是可选的,可以 NULL。
[in] EaListLength
指定 EaList的长度(如果提供了 EA 列表)。
[in, optional] EaIndex
提供要返回其值的 EA 的可选索引。 如果指定,则仅返回 EA。
[in] RestartScan
指定是否应从头开始重启 EA 扫描。
[out, optional] LengthReturned
指定 ReturnedEaData 缓冲区中返回的有效数据量。
返回值
例程 FsRtlQueryKernelEaFile 返回状态代码之一:
返回代码 | 描述 |
---|---|
|
文件系统不支持扩展属性。 |
|
请求在直接设备打开时失败。 |
|
无法为此请求分配 I/O 请求数据包(IRP)。 |
|
请求成功。 |
言论
此例程 FsRtlQueryKernelEaFile 假定所有传入的缓冲区都来自内核模式,因为它要求给定的输入和输出缓冲区(如果指定)是内核模式地址。 如果指定了用户模式地址,该操作将失败。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows 8 |
支持的最低服务器 | Windows Server 2012 |
目标平台 | 窗户 |
标头 | ntifs.h |