FSCTL_OFFLOAD_READ_OUTPUT 结构 (ntifs.h)
FSCTL_OFFLOAD_READ_OUTPUT 结构包含FSCTL_OFFLOAD_READ控制代码请求的输出。
语法
typedef struct _FSCTL_OFFLOAD_READ_OUTPUT {
ULONG Size;
ULONG Flags;
ULONGLONG TransferLength;
UCHAR Token[512];
} FSCTL_OFFLOAD_READ_OUTPUT, *PFSCTL_OFFLOAD_READ_OUTPUT;
成员
Size
此结构的大小。 将此成员设置为 sizeof (FSCTL_OFFLOAD_READ_OUTPUT) 。
Flags
结果标志。 此值是这些值的按位 OR 组合:
TransferLength
由 Token 表示的数据的长度(以字节为单位)。
Token[512]
包含标记结构的字节数组 ,STORAGE_OFFLOAD_TOKEN表示 FSCTL_OFFLOAD_READ_INPUT中指定的范围内的文件数据。 令牌的内容必须在卸载操作之间保持未修改。
注解
如果 FSCTL_OFFLOAD_READ 操作成功,则存储设备的复制提供程序将在 FSCTL_OFFLOAD_READ_OUTPUT中返回一个唯一的令牌值,该值标识读取的文件数据部分。
复制提供程序在 FSCTL_OFFLOAD_READ_INPUT 结构的 TokenTimeToLive 成员中保留读取数据的持续时间。
令牌表示文件的连续区域,从 FSCTL_OFFLOAD_READ_INPUT 的 FileOffset 成员中请求的偏移量开始。 复制的结果长度 TransferLength 可能小于最初在 FSCTL_OFFLOAD_READ_INPUT的 CopyLength 成员中指定的长度。 较小的值表示 Token 在逻辑上表示的数据比请求的数据少。
如果传输的数据少于请求的数据,则可以通过执行另一 个FSCTL_OFFLOAD_READ 请求来完成读取操作。 下一个请求在 FSCTL_OFFLOAD_READ_INPUT 结构中使用更新的 FileOffset 成员,其值在 TransferLength 中,调整的读取长度减去 TransferLength 中的值。 此外,可以使用 ZwReadFile 例程等非卸载的读取方法完成不完整的读取操作。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 8 |
标头 | ntifs.h (包括 Ntifs.h、Fltkernel.h) |