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

# IDStorageQueueX::EnqueueStatus

> IDStorageQueueX::EnqueueStatus

# IDStorageQueueX::EnqueueStatus

将状态写入操作入队。

## Syntax

```cpp theme={null}
void EnqueueStatus(  
         IDStorageStatusArrayX *statusArray,  
         UINT32 index  
)  
```

### Parameters

*statusArray*\
类型：IDStorageStatusArrayX

一个 [IDStorageStatusArrayX](/reference/system/dstorage/interfaces/IDStorageStatusArrayX/idstoragestatusarrayx) 对象。

*index*\
类型：UINT32

`IDStorageStatusArrayX` 对象中用于接收状态的状态条目索引。

### Return value

类型：void

## Remarks

当在该状态数组条目之前入队的所有请求全部完成后，该状态数组会被发出信号。

调用此方法后，游戏线程可以按需轮询 `IDStorageStatusArrayX` 对象。（在调用此方法之前，状态的取值未定义。）如果自上一个状态条目之后有任何失败发生，则所入队的状态条目的 *HResult* 会存储首个失败请求的失败代码。

如果 `EnqueueStatus` 方法自上次提交以来填充了队列容量的一半，则在 `EnqueueStatus` 调用中会触发一次自动提交。

在大多数情况下，此方法只是向队列执行一次内存写入，因此所占用的 CPU 时间很少。但是，如果触发了自动提交，则会占用明显更多的 CPU 时间，包括一次内核模式切换以及在调用方线程中处理所有先前已提交的请求。

如果不希望发生自动提交，建议游戏使用容量足够大的队列，并在合适的时机手动调用 [Submit](/reference/system/dstorage/interfaces/IDStorageQueueX/methods/idstoragequeuex_submit)。

有关详细信息，请参阅 [DirectStorage 概述](/build/console-features/storage/directstorage/directstorage-overview) 中的“Notification”和“EnqueueStatus/EnqueueSignal/EnqueueSetEvent”几节。

## Requirements

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

**库：** dstorage\_xs.lib

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

## See also

[IDStorageFactoryX::CreateStatusArray](/reference/system/dstorage/interfaces/IDStorageFactoryX/methods/idstoragefactoryx_createstatusarray)\
[IDStorageQueueX::EnqueueSignal](/reference/system/dstorage/interfaces/IDStorageQueueX/methods/idstoragequeuex_enqueuesignal)\
[IDStorageQueueX](/reference/system/dstorage/interfaces/IDStorageQueueX/idstoragequeuex)\
[DStorage](/reference/system/dstorage/dstorage_members)


## Related topics

- [IDStorageQueueX::EnqueueSignal](/zh-CN/reference/system/dstorage/interfaces/IDStorageQueueX/methods/idstoragequeuex_enqueuesignal.md)
- [IDStorageQueueX1::EnqueueSetEvent](/zh-CN/reference/system/dstorage/interfaces/IDStorageQueueX1/methods/idstoragequeuex_enqueuesetevent.md)
- [IDStorageStatusArrayX](/zh-CN/reference/system/dstorage/interfaces/IDStorageStatusArrayX/idstoragestatusarrayx.md)
- [IDStorageFactoryX::CreateStatusArray](/zh-CN/reference/system/dstorage/interfaces/IDStorageFactoryX/methods/idstoragefactoryx_createstatusarray.md)
- [IDStorageQueueX::EnqueueRequest](/zh-CN/reference/system/dstorage/interfaces/IDStorageQueueX/methods/idstoragequeuex_enqueuerequest.md)
