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通常是ID3D12Heap的GUID,但它可能是任何介面的GUID。 如果資源物件不支援此 GUID的介面,則建立會失敗並 E_NOINTERFACE。
[out, optional] ppvHeap
類型: void**
記憶體區塊的選擇性指標,可接收所建立堆積物件的要求介面指標。
ppvHeap 可以是 nullptr
,以啟用功能測試。 當ppvHeap為 nullptr
時,不會建立任何物件,而且pDesc有效時會傳回S_FALSE。
傳回值
類型: HRESULT
如果函式成功,它會 傳回S_OK。 否則,它會傳回 HRESULT錯誤碼。
傳回值 | 描述 |
---|---|
E_OUTOFMEMORY | 記憶體不足,無法建立堆積。 |
如需其他可能的傳回值,請參閱 Direct3D 12 傳回碼 。
備註
CreateHeap 會建立可用於放置資源和保留資源的堆積。
在釋放堆積的最終參考之前,您的應用程式必須確定 GPU 將不再讀取或寫入此堆積。
放置的資源物件會保存所建立堆積上的參考;但保留的資源不會保存對堆積所做的每個對應參考。
需求
目標平台 | Windows |
標頭 | d3d12.h |
程式庫 | D3D12.lib |
Dll | D3D12.dll |