共用方式為


ID3D12Device4::CreateHeap1 方法 (d3d12.h)

建立堆積(選擇性地用於受保護的會話),以便與放置的資源和保留資源搭配使用。 另請參閱 ID3D12Device::CreateHeap

語法

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

參數

[in] pDesc

類型:const D3D12_HEAP_DESC*

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

[in, optional] pProtectedSession

類型:ID3D12ProtectedResourceSession*

對象的選擇性指標,表示內容保護的會話。 如果提供,則此會話表示應該保護堆積。 您可以呼叫 ID3D12Device4::CreateProtectedResourceSession來取得 ID3D12ProtectedResourceSession

無法使用 D3D12_HEAP_FLAG_SHARED_CROSS_ADAPTER 旗標建立具有受保護會話的堆積。

[in] riid

類型:REFIID

堆積介面的全域唯一標識碼 (GUID) 參考,以傳回 ppvHeap

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

[out, optional] ppvHeap

類型:void**

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

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

傳回值

類型:HRESULT

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

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

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

言論

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

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

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

要求

要求 價值
最低支援的用戶端 Windows 10 組建 20348
支援的最低伺服器 Windows 10 組建 20348
目標平臺 窗戶
標頭 d3d12.h
連結庫 d3d12.lib
DLL d3d12.dll