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

# CreateCommittedResourceX (XBOX One 系列)

> 建立資源，以及足以容納整個資源的隱含堆積。資源會對應至該堆積。

建立資源，以及足以容納整個資源的隱含堆積。資源會對應至該堆積。

## 語法

```cpp theme={null}
HRESULT CreateCommittedResourceX(  
         const D3D12_HEAP_PROPERTIES* pHeapProperties,  
         D3D12_HEAP_FLAGS HeapFlags,  
         const D3D12XBOX_RESOURCE_DESC* pResourceDesc,  
         D3D12_RESOURCE_STATES InitialState,  
         const D3D12_CLEAR_VALUE* pOptimizedClearValue,  
         REFIID riidResource,  
         void** ppvResource  
)  
```

### 參數

*pHeapProperties*   \_In\_<br />類型：[D3D12\_HEAP\_PROPERTIES\*](https://learn.microsoft.com/en-us/windows/desktop/api/d3d12/ns-d3d12-d3d12_heap_properties)

指向 **D3D12\_HEAP\_PROPERTIES** 結構的指標，提供資源堆積的屬性。

*HeapFlags*   <br />類型：[D3D12\_HEAP\_FLAGS](https://learn.microsoft.com/en-us/windows/win32/api/d3d12/ne-d3d12-d3d12_heap_flags)

堆積選項，為 **D3D12\_HEAP\_FLAGS** 列舉常數的位元 OR 組合。

*pResourceDesc*   \_In\_<br />類型：[D3D12XBOX\_RESOURCE\_DESC\*](/zh-TW/reference/graphics/d3d12_x/structs/d3d12xbox_resource_desc)

指向描述資源之 **D3D12XBOX\_RESOURCE\_DESC** 結構的指標。

*InitialState*   <br />類型：[D3D12\_RESOURCE\_STATES](/zh-TW/reference/graphics/d3d12_x/enums/d3d12_resource_states)

資源的初始狀態，為 **D3D12\_RESOURCE\_STATES** 列舉常數的位元 OR 組合。

當資源與 **D3D12\_HEAP\_TYPE\_UPLOAD** 堆積一起建立時，*InitialState* 必須為 **D3D\_RESOURCE\_STATE\_GENERIC\_READ**。當資源與 **D3D12\_HEAP\_TYPE\_READBACK** 堆積一起建立時，*InitialState* 必須為 **D3D12\_RESOURCE\_STATE\_COPY\_DEST**。

*pOptimizedClearValue*   \_In\_opt\_<br />類型：[D3D12\_CLEAR\_VALUE\*](https://learn.microsoft.com/en-us/windows/desktop/api/d3d12/ns-d3d12-d3d12_clear_value)

指定描述清除色彩預設值的 **D3D12\_CLEAR\_VALUE**。

*riidResource*   <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(ID3D12Resource)  
```

雖然 *riidResource* 最常是 *ID3D12Resource* 的 GUID，但它可以是任何介面的任何 GUID。如果資源物件不支援此 GUID 的介面，建立就會失敗並傳回 **E\_NOINTERFACE**。

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

指向記憶體的指標，該記憶體會接收所建立資源物件的要求介面指標。**ppvResource** 可以是 **null**，以啟用功能測試；當呼叫 **CreateCommittedResourceX** 時將 **ppvResource** 設定為 **null**，則不會建立任何物件，且在 **pResourceDesc** 有效時會傳回 **S\_FALSE**。

### 傳回值

類型：HRESULT

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

## 備註

此函式會建立資源，以及足以容納整個資源的隱含堆積，並將資源對應至該處。應用程式無法取得所建立的堆積。在釋放資源的最後一個參考之前，應用程式必須確保 GPU 已不再讀取或寫入此資源。

在函式返回應用程式之前，隱含堆積會設為常駐以供 GPU 存取。如需詳細資訊，請參閱[常駐](https://learn.microsoft.com/en-us/windows/win32/direct3d12/residency)。

資源的 GPU VA 對應無法變更。如需詳細資訊，請參閱 [UpdateTileMappings](https://learn.microsoft.com/en-us/windows/win32/api/d3d12/nf-d3d12-id3d12commandqueue-updatetilemappings) 和[磁碟區並排資源](https://learn.microsoft.com/en-us/windows/win32/direct3d12/volume-tiled-resources)。

此函式為安全執行緒。

## 需求

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

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

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

## 另請參閱

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


## Related topics

- [CreateCommittedResource](/zh-CN/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createcommittedresource_public.md)
- [CreateCommittedResource1 (XBOX Series consoles)](/reference/graphics/d3d12/interfaces/id3d12device4/methods/id3d12device4_createcommittedresource1_public.md)
- [CreateCommittedResource3 (XBOX Series consoles)](/reference/graphics/d3d12/interfaces/id3d12device10/methods/id3d12device10_createcommittedresource3_public.md)
- [CreateCommittedResource1 (consolas XBOX Series)](/es/reference/graphics/d3d12/interfaces/id3d12device4/methods/id3d12device4_createcommittedresource1_public.md)
- [CreateCommittedResource1 (XBOX Series 主机)](/zh-CN/reference/graphics/d3d12/interfaces/id3d12device4/methods/id3d12device4_createcommittedresource1_public.md)
