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

# CreateCommandListX (XBOX One 系列)

> CreateCommandListX (XBOX One 系列主機) — 建立命令清單。XBOX 遊戲開發的 Direct3D 12 圖形 API 參考。

建立命令清單。

## 語法

```cpp theme={null}
HRESULT CreateCommandListX(  
         const D3D12XBOX_COMMAND_LIST_DESC* pDesc,  
         ID3D12CommandAllocator* pCommandAllocator,  
         ID3D12PipelineState* pInitialState,  
         REFIID riid,  
         void** ppCommandList  
)  
```

### 參數

*pDesc*   \_In\_<br />類型：[D3D12XBOX\_COMMAND\_LIST\_DESC\*](/zh-TW/reference/graphics/d3d12_x/structs/d3d12xbox_command_list_desc)

要建立之命令清單的描述。

*pCommandAllocator*   \_In\_<br />類型：ID3D12CommandAllocator\*

指向 [ID3D12CommandAllocator](/zh-TW/reference/graphics/d3d12_x/interfaces/ID3D12CommandAllocator/id3d12commandallocator) 物件的指標，裝置會從此物件建立命令清單。

*pInitialState*   \_In\_opt\_<br />類型：ID3D12PipelineState\*

指向 [ID3D12PipelineState](https://learn.microsoft.com/en-us/windows/desktop/api/d3d12/nn-d3d12-id3d12pipelinestate) 物件的指標，該物件包含命令清單的初始管線狀態。

此參數為選擇性，可以設定為 NULL。如果設定為 NULL，執行階段會設定一個虛設的初始管線狀態，讓驅動程式遇到未定義的狀態。這樣做的額外負荷很低，特別是對命令清單而言，因為錄製命令清單的整體成本遠大於設定初始狀態的成本。因此，如果設定初始管線狀態參數並不方便，不設定它的成本也很小。

*riid*   <br />類型：REFIID

命令清單介面的全域唯一識別碼 (GUID)。若要擷取管線狀態介面的 [REFIID](https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-oaut/bbde795f-5398-42d8-9f59-3613da03c318) (或 GUID)，請使用 [\_\_uuidof()](https://learn.microsoft.com/en-us/cpp/cpp/uuidof-operator?view=vs-2019) 巨集。例如，若要取得命令清單介面的 GUID，請執行下列動作：

```cpp theme={null}
__uuidof(ID3D12CommandList)  
```

*ppCommandList*   \_Outptr\_<br />類型：void\*\*

指向記憶體區塊的指標，該區塊會接收指向命令清單之 [ID3D12CommandList](https://learn.microsoft.com/en-us/windows/desktop/api/d3d12/nn-d3d12-id3d12commandlist) 或 [ID3D12GraphicsCommandList](/zh-TW/reference/graphics/d3d12_x/interfaces/id3d12graphicscommandlist/id3d12graphicscommandlist) 介面的指標。

### 傳回值

類型：HRESULT

如果沒有足夠的記憶體可建立命令清單，此方法會傳回 **E\_OUTOFMEMORY**。如需其他可能的傳回值，請參閱 [Direct3D 12 傳回碼](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/d3d12-graphics-reference-returnvalues)。

## 備註

裝置會從命令配置器建立命令清單。如需命令配置器的詳細資訊，請參閱 [CreateCommandAllocator](https://learn.microsoft.com/en-us/windows/win32/api/d3d12/nf-d3d12-id3d12device-createcommandallocator) 和[建立和錄製命令清單與套件組合](https://learn.microsoft.com/en-us/windows/win32/direct3d12/recording-command-lists-and-bundles#creating-command-lists)。

如需建立命令清單的詳細資訊，請參閱 [CreateCommandList](https://learn.microsoft.com/en-us/windows/win32/api/d3d12/nf-d3d12-id3d12device-createcommandlist)。

## 需求

**標頭：** d3d12\_x.h

**程式庫：** d3d12\_x.lib

**支援的平台：** XBOX One 系列

## 另請參閱

[ID3D12Device](/zh-TW/reference/graphics/d3d12_x/interfaces/id3d12device/id3d12device)


## Related topics

- [CreateCommandList](/zh-CN/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createcommandlist_public.md)
- [CreateCommandAllocator](/zh-CN/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createcommandallocator_public.md)
- [CreateCommandQueue](/zh-CN/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createcommandqueue_public.md)
- [CreateCommandSignature](/zh-CN/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createcommandsignature_public.md)
- [D3D12_COMMAND_LIST_SUPPORT_FLAGS](/zh-CN/reference/graphics/d3d12/enums/d3d12_command_list_support_flags_public.md)
