> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# DSTORAGE_REQUEST_OPTIONS

> DSTORAGE_REQUEST_OPTIONS

# DSTORAGE\_REQUEST\_OPTIONS

DirectStorage 读取请求的选项。

## Syntax

```cpp theme={null}
union DSTORAGE_REQUEST_OPTIONS {
    struct {
        UINT64 ZlibDecompress : 1;
        DSTORAGE_BCPACK_MODE BcpackMode : 4;  
        DSTORAGE_SWIZZLE_MODE SwizzleMode : 16;  
        UINT64 DestinationIsPhysicalPages : 1;  
        DSTORAGE_REQUEST_SOURCE_TYPE SourceType : 1;  
        UINT64 SourceIsPhysicalPages : 1;  
        UINT64 Reserved : 40;  
    };
    UINT64 AsUINT64;
};
```

### Members

*ZlibDecompress*\
类型：UINT64 : 1

指示是否执行 RFC 1950 解压缩的布尔值。

*BcpackMode*\
类型：[DSTORAGE\_BCPACK\_MODE](https://docs.xbox.com/zh-CN/reference/system/dstorage/enums/dstorage_bcpack_mode.md) : 4

指示要执行的 BCPack 解压缩类型的 `DSTORAGE_BCPACK_MODE` 值。

*SwizzleMode*\
类型：[DSTORAGE\_SWIZZLE\_MODE](https://docs.xbox.com/zh-CN/reference/system/dstorage/enums/dstorage_swizzle_mode.md) : 16

指示要执行的调配（swizzle）操作类型的 `DSTORAGE_SWIZZLE_MODE` 值。

*DestinationIsPhysicalPages*\
类型：UINT64 : 1

指示目标内存是通过 [XMemAllocatePhysicalPages（NDA 主题）](https://docs.xbox.com/zh-CN/reference/system/xmem/functions/xmemallocatephysicalpages.md) 分配的物理页数组的布尔值。

*SourceType*\
类型：[DSTORAGE\_REQUEST\_SOURCE\_TYPE](https://docs.xbox.com/zh-CN/reference/system/dstorage/enums/dstorage_request_source_type.md)

指示请求的源是文件还是一块内存的 `DSTORAGE_REQUEST_SOURCE_TYPE` 值。

*SourceIsPhysicalPages*\
类型：UINT64

当 *SourceType* 为 `DSTORAGE_REQUEST_SOURCE_MEMORY` 时，此布尔值指示源内存是通过 [XMemAllocatePhysicalPages（NDA 主题）](https://docs.xbox.com/zh-CN/reference/system/xmem/functions/xmemallocatephysicalpages.md) 分配的物理页数组。

*Reserved*\
类型：UINT64 : 40

保留。必须为零。

*AsUINT64*\
类型：UINT64

结构的 UINT64 表示形式。

## Remarks

此结构用于 [DSTORAGE\_REQUEST](https://docs.xbox.com/zh-CN/reference/system/dstorage/structs/dstorage_request.md) 和 [DSTORAGE\_ERROR\_RECORD](https://docs.xbox.com/zh-CN/reference/system/dstorage/structs/dstorage_error_record.md) 结构。[IDStorageQueueX::EnqueueRequest](https://docs.xbox.com/zh-CN/reference/system/dstorage/interfaces/IDStorageQueueX/methods/idstoragequeuex_enqueuerequest.md) 返回后即可重用该结构。

有关读取请求的详细信息，请参阅 [DirectStorage 概述](https://docs.xbox.com/zh-CN/build/console-features/storage/directstorage/directstorage-overview.md) 中的“EnqueueRequest”一节。

## Requirements

**头文件：** dstorage\_xs.h

**受支持的平台：** XBOX Series 主机

## See also

[DStorage](https://docs.xbox.com/zh-CN/reference/system/dstorage/dstorage_members.md)


## Related topics

- [DSTORAGE_SWIZZLE_MODE](https://docs.xbox.com/zh-CN/reference/system/dstorage/enums/dstorage_swizzle_mode.md)
- [DSTORAGE_REQUEST_SOURCE_TYPE](https://docs.xbox.com/zh-CN/reference/system/dstorage/enums/dstorage_request_source_type.md)
- [DSTORAGE_BCPACK_MODE](https://docs.xbox.com/zh-CN/reference/system/dstorage/enums/dstorage_bcpack_mode.md)
- [DSTORAGE_REQUEST](https://docs.xbox.com/zh-CN/reference/system/dstorage/structs/dstorage_request.md)
- [DStorage（API 内容）](https://docs.xbox.com/zh-CN/reference/system/dstorage/dstorage_members.md)
