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

# ID3D12CommandQueue::Signal

> ID3D12CommandQueue::Signal (XBOX 上的 Direct3D 12) — 將柵欄更新為指定的值。適用於 XBOX 遊戲開發的 Direct3D 12 圖形 API 參考。

將柵欄更新為指定的值。

## 語法

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

### 參數

*pFence*\
類型：ID3D12Fence \*

指向 [ID3D12Fence](/zh-TW/reference/graphics/d3d12/interfaces/id3d12fence/id3d12fence_public) 物件的指標。

*Value*\
類型：UINT64

要將柵欄設定成的值。

### 傳回值

類型：HRESULT

此方法會傳回其中一個 [Direct3D 12 傳回碼](https://learn.microsoft.com/en-us/windows/win32/direct3d12/d3d12-graphics-reference-returnvalues)。

## 備註

使用此方法可從 GPU 端設定柵欄值。使用 [ID3D12Fence::Signal](/zh-TW/reference/graphics/d3d12/interfaces/id3d12fence/methods/id3d12fence_signal_public) 可從 CPU 端設定柵欄。

#### 範例

將訊號新增至命令佇列，然後等候計算著色器完成模擬，最後發出訊號並遞增柵欄值。

```cpp theme={null}
// Wait for the compute shader to complete the simulation.
UINT64 threadFenceValue = InterlockedIncrement(&m_threadFenceValues[threadIndex]);
ThrowIfFailed(pCommandQueue->Signal(pFence, threadFenceValue));
ThrowIfFailed(pFence->SetEventOnCompletion(threadFenceValue, m_threadFenceEvents[threadIndex]));
WaitForSingleObject(m_threadFenceEvents[threadIndex], INFINITE);

```

```cpp theme={null}
// Add a signal command to the queue.
ThrowIfFailed(m_commandQueue->Signal(m_renderContextFence.Get(), m_renderContextFenceValue));

```

```cpp theme={null}
// Signal and increment the fence value.
ThrowIfFailed(m_commandQueue->Signal(m_renderContextFence.Get(), m_renderContextFenceValue));
m_renderContextFenceValue++;

```

請參閱 [D3D12 參考中的範例程式碼](https://learn.microsoft.com/en-us/windows/win32/direct3d12/notes-on-example-code)。

<div class="code" />

## 需求

**標頭：** d3d12\_xs.h 或 d3d12\_x.h\
**程式庫：** d3d12\_xs.lib 或 d3d12\_x.lib\
**支援的平台**：XBOX Series 主機與 XBOX One 系列

## 另請參閱

[ID3D12CommandQueue](/zh-TW/reference/graphics/d3d12_xs/interfaces/ID3D12CommandQueue/id3d12commandqueue_xs)

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


## Related topics

- [ID3D12Fence::Signal](/zh-TW/reference/graphics/d3d12/interfaces/id3d12fence/methods/id3d12fence_signal_public.md)
- [ID3D12CommandQueue::GetDesc](/zh-TW/reference/graphics/d3d12/interfaces/id3d12commandqueue/methods/id3d12commandqueue_getdesc_public.md)
- [D3D12_COMMAND_QUEUE_DESC](/zh-TW/reference/graphics/d3d12/structs/d3d12_command_queue_desc_public.md)
- [D3D12_COMMAND_QUEUE_PRIORITY](/zh-TW/reference/graphics/d3d12/enums/d3d12_command_queue_priority_public.md)
- [D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITY](/zh-TW/reference/graphics/d3d12/structs/d3d12_feature_data_command_queue_priority_public.md)
