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 zum Schutz von Inhalten darstellt. Falls angegeben, gibt diese Sitzung an, dass der Heap geschützt werden soll. Sie können eine ID3D12ProtectedResourceSession abrufen, indem Sie ID3D12Device4::CreateProtectedResourceSession aufrufen.

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

[in] riid

Typ: REFIID

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

RiidResource ist zwar am häufigsten die GUID von ID3D12Heap, 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, gibt sie S_OK zurück. 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

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 liest oder schreibt.

Ein platziertes Ressourcenobjekt enthält einen Verweis auf den Heap, für den es erstellt wird. eine reservierte Ressource enthält jedoch keinen Verweis für jede Zuordnung, die zu einem Heap erstellt wurde.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 10 Build 20348
Unterstützte Mindestversion (Server) Windows 10 Build 20348
Zielplattform Windows
Kopfzeile d3d12.h
Bibliothek d3d12.lib
DLL d3d12.dll