Freigeben über


ID3D12Device::CreateHeap-Methode (d3d12.h)

Erstellt einen Heap, der mit platzierten und reservierten Ressourcen verwendet werden kann.

Syntax

HRESULT CreateHeap(
  [in]            const D3D12_HEAP_DESC *pDesc,
  [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] riid

Typ: REFIID

Ein Verweis auf die GUID (Globally Unique Identifier) der Heapschnittstelle, die in ppvHeap zurückgegeben werden soll.

RiidResource ist zwar am häufigsten die GUID von ID3D12Heap, es kann jedoch die GUID einer beliebigen Schnittstelle sein. Wenn das Ressourcenobjekt die Schnittstelle für diese GUID nicht unterstützt, schlägt die Erstellung mit E_NOINTERFACE fehl.

[out, optional] ppvHeap

Typ: void**

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

ppvHeap kann sein nullptr, um Funktionstests zu aktivieren. Wenn ppvHeap ist nullptr, wird kein Objekt erstellt, und S_FALSE wird zurückgegeben, wenn pDesc gültig ist.

Rückgabewert

Typ: HRESULT

Wenn die Funktion erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein HRESULT-Fehlercode zurü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 .

Hinweise

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

Bevor sie den endgültigen Verweis auf den Heap veröffentlicht, muss Ihre Anwendung sicherstellen, dass die GPU diesen Heap nicht mehr liest oder schreibt.

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 zu einem Heap.

Anforderungen

   
Zielplattform Windows
Kopfzeile d3d12.h
Bibliothek D3D12.lib
DLL D3D12.dll

Weitere Informationen

ID3D12Device

Freigegebene Heaps