> ## 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.

# Wait

> 将 GPU 端等待排入队列，然后立即返回。GPU 端等待是指 GPU 一直等待，直到指定的围栏达到或超过指定值。

将 GPU 端等待排入队列，然后立即返回。GPU 端等待是指 GPU 一直等待，直到指定的围栏达到或超过指定值。

## 语法

```cpp theme={null}
HRESULT Wait(
    ID3D12Fence  pFence,
    UINT64 Value
)
```

### 参数

*pFence*\
类型：ID3D12Fence \*

指向 [ID3D12Fence](/reference/graphics/d3d12/interfaces/id3d12fence/id3d12fence_public) 对象的指针。

*Value*\
类型：UINT64

命令队列等待围栏达到或超过的值。因此，当 [ID3D12Fence::GetCompletedValue](/reference/graphics/d3d12/interfaces/id3d12fence/methods/id3d12fence_getcompletedvalue_public) 大于或等于 <i>Value</i> 时，等待终止。

### 返回值

类型：HRESULT

此方法返回 [Direct3D 12 返回代码](https://learn.microsoft.com/en-us/windows/win32/direct3d12/d3d12-graphics-reference-returnvalues) 之一。

## 备注

由于等待正在排入队列，因此 API 会立即返回。是命令队列在等待（在此期间不执行任何工作），直到指定的围栏达到请求的值。

如果想要执行 CPU 端等待（其中调用线程阻塞，直到围栏达到特定值），则应结合使用 [**ID3D12Fence::SetEventOnCompletion**](/reference/graphics/d3d12/interfaces/id3d12fence/methods/id3d12fence_seteventoncompletion_public) API 与 [**WaitForSingleObject**](https://learn.microsoft.com/en-us/windows/win32/api/synchapi/nf-synchapi-waitforsingleobject)（或类似 API）。

## 要求

**头文件：** d3d12\_xs.h 或 d3d12\_x.h\
**库：** d3d12\_xs.lib 或 d3d12\_x.lib\
**支持的平台**：XBOX Series 主机和 XBOX One 系列

## 另请参阅

[ID3D12CommandQueue](/reference/graphics/d3d12_xs/interfaces/ID3D12CommandQueue/id3d12commandqueue_xs)

[多引擎同步](https://learn.microsoft.com/en-us/windows/win32/direct3d12/user-mode-heap-synchronization)


## Related topics

- [D3D12_MULTIPLE_FENCE_WAIT_FLAGS](/zh-CN/reference/graphics/d3d12/enums/d3d12_multiple_fence_wait_flags_public.md)
- [XblMultiplayerManagerEstimatedMatchWaitTime](/zh-CN/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagerestimatedmatchwaittime.md)
- [IGameInputDispatcher::OpenWaitHandle](/zh-CN/reference/input/gameinput/interfaces/IGameInputDispatcher/methods/igameinputdispatcher_openwaithandle.md)
- [XTaskQueueRegisterWaiter](/zh-CN/reference/system/xtaskqueue/functions/xtaskqueueregisterwaiter.md)
- [XTaskQueueUnregisterWaiter](/zh-CN/reference/system/xtaskqueue/functions/xtaskqueueunregisterwaiter.md)
