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 |