Freigeben über


ID3D12Device4::CreateHeap1-Methode (d3d12.h)

Erstellt einen Heap (optional für eine geschützte Sitzung), der mit platzierten Ressourcen und reservierten Ressourcen verwendet werden kann. Siehe auch ID3D12Device::CreateHeap.

Syntax

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

Parameter

[in] pDesc

Typ: const D3D12_HEAP_DESC*

Ein Zeiger auf eine Konstante D3D12_HEAP_DESC Struktur, die den Heap beschreibt.

[in, optional] pProtectedSession

Typ: ID3D12ProtectedResourceSession*

Ein optionaler Zeiger auf ein Objekt, das eine Sitzung für den Inhaltsschutz darstellt. Wenn angegeben, gibt diese Sitzung an, dass der Heap geschützt werden soll. Sie können eine ID3D12ProtectedResourceSession- abrufen, indem Sie ID3D12Device4::CreateProtectedResourceSessionaufrufen.

Ein Heap mit einer geschützten Sitzung kann nicht mit dem D3D12_HEAP_FLAG_SHARED_CROSS_ADAPTER Flag erstellt werden.

[in] riid

Typ: REFIID-

Ein Verweis auf den global eindeutigen Bezeichner (GUID-) der Heap-Schnittstelle, die in ppvHeap-zurückgegeben werden soll.

Während riidResource- am häufigsten die GUID-ID3D12Heap-ist, kann es sich um die GUID- jeder Schnittstelle handelt. Wenn das Ressourcenobjekt die Schnittstelle für diese GUID-nicht unterstützt, schlägt die Erstellung mit E_NOINTERFACEfehl.

[out, optional] ppvHeap

Typ: void**

Ein optionaler Zeiger auf einen Speicherblock, der den angeforderten Schnittstellenzeiger auf das erstellte Heap-Objekt empfängt.

ppvHeap- kann nullptrwerden, um Funktionstests zu ermöglichen. Wenn ppvHeap-nullptrist, wird kein Objekt erstellt und S_FALSE zurückgegeben, wenn pDesc- gültig ist.

Rückgabewert

Typ: HRESULT-

Wenn die Funktion erfolgreich ist, wird S_OKzurückgegeben. Andernfalls wird ein HRESULT-Fehlercodezurückgegeben.

Rückgabewert Beschreibung
E_OUTOFMEMORY Es ist nicht genügend Arbeitsspeicher vorhanden, um den Heap zu erstellen.

Weitere mögliche Rückgabewerte finden Sie unter Direct3D 12-Rückgabecodes.

Bemerkungen

CreateHeap1- erstellt einen Heap, der mit platzierten Ressourcen und reservierten Ressourcen verwendet werden kann.

Bevor Sie den endgültigen Verweis auf den Heap freigeben, muss Ihre Anwendung sicherstellen, dass die GPU diesen Heap nicht mehr lesen oder schreiben wird.

Ein platziertes Ressourcenobjekt enthält einen Verweis auf den Heap, auf dem es erstellt wird; eine reservierte Ressource enthält jedoch keinen Verweis für jede Zuordnung, die an einen Heap vorgenommen wird.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 10 Build 20348
mindestens unterstützte Server- Windows 10 Build 20348
Zielplattform- Fenster
Header- d3d12.h
Library d3d12.lib
DLL- d3d12.dll