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
状态块
预留给系统使用。
注解
若要执行此操作,请使用以下参数调用 FltFsControlFile 或 ZwFsControlFile 。
参数 | 说明 |
---|---|
实例 | [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 |