FSCTL_QUERY_FILE_REGIONS IOCTL (ntifs.h)

FSCTL_QUERY_FILE_REGIONS 根据指定的使用参数查询与调用此 FSCTL 的句柄关联的文件区域列表。 此消息包含可选的 FILE_REGION_INPUT 数据元素。 如果未指定任何 FILE_REGION_INPUT 参数,则返回文件的整个大小的信息。

主要代码

FSCTL_QUERY_FILE_REGIONS

输入缓冲区

指向指示要查询的文件区域的 FILE_REGION_INPUT 结构的指针。

输入缓冲区长度

InputBuffer 指向的 FILE_REGION_INPUT 结构的大小(以字节为单位)。

输出缓冲区

指向返回查询结果的 FILE_REGION_OUTPUT 结构的指针。

输出缓冲区长度

OutputBuffer 指向的缓冲区的大小(以字节为单位)。

输入/输出缓冲区

n/a

输入/输出缓冲区长度

n/a

状态块

保留供系统使用。

言论

若要执行此操作,请使用以下参数调用 FltFsControlFileZwFsControlFile

参数 描述
实例 [in]仅适用于 FltFsControlFile。 调用方不透明的实例指针。 此参数是必需的,不能为 NULL。
FileObject [in]仅适用于 FltFsControlFile。 作为此请求目标的文件或目录的文件对象指针。 此参数是必需的,不能为 NULL。
FileHandle [in]仅适用于 ZwFsControlFile。 此请求的目标文件或目录的文件句柄。 此参数是必需的,不能为 NULL。
IoStatusBlock [out]仅适用于 ZwFsControlFile。 指向返回请求的最终状态的 IO_STATUS_BLOCK 结构的指针。
FsControlCode [in]设置为 FSCTL_QUERY_FILE_REGIONS
InputBuffer [in/optional]指向指示要查询的文件区域的 FILE_REGION_INPUT 结构的指针。
InputBufferLength [in]InputBuffer 指向的缓冲区的大小(以字节为单位)。
OutputBuffer [out]指向返回查询结果的 FILE_REGION_OUTPUT 结构的指针。
OutputBufferLength [out]OutputBuffer 指向的缓冲区的大小(以字节为单位)。
LengthReturned [out]指向调用方分配的变量的指针,该变量接收 OutputBuffer缓冲区中返回的信息的大小(以字节为单位)。

返回值

成功完成后,FSCTL_QUERY_FILE_REGIONS 返回STATUS_SUCCESS;否则,它将返回错误代码。 成功完成后,调用方应首先验证 IoStatus.Information 是否大于或等于 LengthReturned,然后再访问 OutputBuffer中返回的信息。

要求

要求 价值
最低支持的客户端 Windows 8
标头 ntifs.h

另请参阅

FILE_REGION_INPUT

FILE_REGION_OUTPUT

FltFsControlFile

ZwFsControlFile