ID3D12Device::CreateHeap 方法 (d3d12.h)

建立可與放置的資源和保留資源搭配使用的堆積。

語法

HRESULT CreateHeap(
  [in]            const D3D12_HEAP_DESC *pDesc,
  [in]            REFIID                riid,
  [out, optional] void                  **ppvHeap
);

參數

[in] pDesc

類型:const D3D12_HEAP_DESC*

描述堆積之常數 D3D12_HEAP_DESC 結構的指標。

[in] riid

類型: REFIID

要傳回ppvHeap中之堆積介面之全域唯一識別碼的參考 (GUID) 。

雖然riidResource通常是ID3D12HeapGUID,但它可能是任何介面的GUID。 如果資源物件不支援此 GUID的介面,則建立會失敗並 E_NOINTERFACE

[out, optional] ppvHeap

類型: void**

記憶體區塊的選擇性指標,可接收所建立堆積物件的要求介面指標。

ppvHeap 可以是 nullptr ,以啟用功能測試。 當ppvHeapnullptr 時,不會建立任何物件,而且pDesc有效時會傳回S_FALSE

傳回值

類型: HRESULT

如果函式成功,它會 傳回S_OK。 否則,它會傳回 HRESULT錯誤碼

傳回值 描述
E_OUTOFMEMORY 記憶體不足,無法建立堆積。

如需其他可能的傳回值,請參閱 Direct3D 12 傳回碼

備註

CreateHeap 會建立可用於放置資源和保留資源的堆積。

在釋放堆積的最終參考之前,您的應用程式必須確定 GPU 將不再讀取或寫入此堆積。

放置的資源物件會保存所建立堆積上的參考;但保留的資源不會保存對堆積所做的每個對應參考。

需求

   
目標平台 Windows
標頭 d3d12.h
程式庫 D3D12.lib
Dll D3D12.dll

另請參閱

ID3D12Device

共用堆積