ID3D12Device3::OpenExistingHeapFromAddress 方法 (d3d12.h)
從位址在系統記憶體中建立特殊用途的診斷堆積。 即使發生 GPU 錯誤或裝置移除的案例,建立的堆積仍可保存。
語法
HRESULT OpenExistingHeapFromAddress(
[in] const void *pAddress,
REFIID riid,
[out] void **ppvHeap
);
參數
[in] pAddress
類型: const void*
用來建立堆積的位址。
riid
類型: REFIID
堆積介面的全域唯一識別碼 (GUID) (ID3D12Heap) 。
您可以使用__uuidof () 宏來取得堆積介面的REFIID或GUID。 例如, __uuidof (ID3D12Heap) 會擷取堆積介面的 GUID 。
[out] ppvHeap
類型: void**
SAL: COM_Outptr
記憶體區塊的指標。 成功時,D3D12 執行時間會將新開啟堆積的指標寫入記憶體區塊。 指標的類型取決於提供的 riid 參數。
傳回值
類型: HRESULT
如果記憶體不足而無法開啟現有的堆積,這個方法會 傳回E_OUTOFMEMORY 。 如需其他可能的傳回值,請參閱 Direct3D 12 傳回碼 。
備註
堆積會在系統記憶體中建立,並允許 CPU 存取。 它會包裝整個 VirtualAlloc 區域。
堆積可用於放置和保留的資源,就像其他堆積一樣正交。 限制可能仍會以無法選擇應用程式的旗標為基礎。
需求
目標平台 | Windows |
標頭 | d3d12.h |
程式庫 | D3d12.lib |
Dll | D3d12.dll |