ID3D12Device3::OpenExistingHeapFromAddress-Methode (d3d12.h)

Erstellt einen speziellen Diagnoseheap im Systemspeicher aus einer Adresse. Der erstellte Heap kann auch im Falle eines GPU-Fehlers oder gerätefernen Szenarios beibehalten werden.

Syntax

HRESULT OpenExistingHeapFromAddress(
  [in]  const void *pAddress,
        REFIID     riid,
  [out] void       **ppvHeap
);

Parameter

[in] pAddress

Typ: const void*

Die Adresse, die zum Erstellen des Heaps verwendet wird.

riid

Typ: REFIID

Die GUID (Globally Unique Identifier) für die Heapschnittstelle (ID3D12Heap).

Die REFIID oder GUID der Schnittstelle zum Heap kann mithilfe des Makros __uuidof() abgerufen werden. Beispielsweise ruft __uuidof(ID3D12Heap) die GUID der Schnittstelle in einen Heap ab.

[out] ppvHeap

Typ: void**

SAL: COM_Outptr

Ein Zeiger auf einen Speicherblock. Bei Erfolg schreibt die D3D12-Runtime einen Zeiger auf den neu geöffneten Heap in den Speicherblock. Der Typ des Zeigers hängt vom bereitgestellten riid-Parameter ab.

Rückgabewert

Typ: HRESULT

Diese Methode gibt E_OUTOFMEMORY zurück, wenn nicht genügend Arbeitsspeicher zum Öffnen des vorhandenen Heaps vorhanden ist. Weitere mögliche Rückgabewerte finden Sie unter Direct3D 12-Rückgabecodes .

Hinweise

Der Heap wird im Systemarbeitsspeicher erstellt und ermöglicht den CPU-Zugriff. Es umschließt die gesamte VirtualAlloc-Region.

Heaps können für platzierte und reservierte Ressourcen verwendet werden, ebenso orthogonal wie andere Heaps. Einschränkungen können basierend auf den Flags bestehen, die nicht von der App ausgewählt werden können.

Anforderungen

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

Weitere Informationen

ID3D12Device3-Schnittstelle