Skip to main content

DSTORAGE_REQUEST

代表 DirectStorage 读取请求。

Syntax

Members

Options
类型:DSTORAGE_REQUEST_OPTIONS
此请求的各种选项。 Destination
类型:void *
用于接收此请求最终结果的缓冲区地址。 DestinationPageArray
类型:PULONG_PTR
在指定 DestinationIsPhysicalPages 时,用于接收此请求最终结果的页数组的地址。每个条目为一个 64-KB 页码。 DestinationPageOffset
类型:UINT16
在指定 DestinationIsPhysicalPages 时,目标起始位置在 64-KB 页内的偏移量。 DestinationSize
类型:UINT32
此请求最终结果的预期大小(以字节为单位)。如果请求不包含解压缩,则该值应等于 SourceSize。对于包含解压缩的请求,该值将大于 SourceSize File
类型:IDStorageFileX *
SourceTypeDSTORAGE_REQUEST_SOURCE_FILE 时,从中执行此读取请求的文件。 FileOffset
类型:UINT64
SourceTypeDSTORAGE_REQUEST_SOURCE_FILE 时,读取请求在文件中起始位置的偏移量(以字节为单位)。如果指定了 ZlibDecompressBcpackMode,则偏移量必须按 16 字节对齐。 *Source
类型:void
SourceTypeDSTORAGE_REQUEST_SOURCE_MEMORY 且未指定 SourceIsPhysicalPages 时,要读取的源缓冲区的地址。 SourcePageArray
类型:PULONG_PTR
SourceTypeDSTORAGE_REQUEST_SOURCE_MEMORY 且指定了 SourceIsPhysicalPages 时,提供要读取的源缓冲区的页数组地址。每个条目为一个 64-KB 页码。 SourcePageOffset
类型:UINT16
SourceTypeDSTORAGE_REQUEST_SOURCE_MEMORY 且指定了 SourceIsPhysicalPages 时,源起始位置在 64-KB 页内的偏移量。 SourceSize
类型:UINT32
要从文件或内存源读取的大小(以字节为单位)。 IntermediateSize
类型:UINT32
在同时指定了 ZlibDecompressBcpackMode 时,BCPack 压缩数据的字节数。 CancellationTag
类型:UINT64
用于取消匹配的任意 UINT64 数值。 *Name
类型:const CHAR
请求的可选名称。用于调试。如果指定,则在请求完成之前该字符串应可访问。

Remarks

此结构由 IDStorageQueueX::EnqueueRequest 方法使用。EnqueueRequest 返回后即可重用该结构。 单个请求必须满足以下大小要求之一:
  • DestinationSize 小于或等于 32MiB (DSTORAGE_MAX_4K_PAGE_DESTINATION_SIZE)。
  • SourceSize(仅适用于内存到内存的请求)与 DestinationSize 之和的总内存使用量小于或等于 1GiB (DSTORAGE_MAX_REQUEST_SIZE),并且大于 32MiB 的内存缓冲区必须使用 64KiB 页或 2MiB 页。
有关详细信息,请参阅 DirectStorage 概述 中的“EnqueueRequest”一节。

Requirements

头文件: dstorage_xs.h 受支持的平台: XBOX Series 主机

See also

DStorage
最后修改于 2026年8月24日