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 () 宏來取得堆積介面的REFIIDGUID。 例如, __uuidof (ID3D12Heap) 會擷取堆積介面的 GUID

[out] ppvHeap

類型: void**

SALCOM_Outptr

記憶體區塊的指標。 成功時,D3D12 執行時間會將新開啟堆積的指標寫入記憶體區塊。 指標的類型取決於提供的 riid 參數。

傳回值

類型: HRESULT

如果記憶體不足而無法開啟現有的堆積,這個方法會 傳回E_OUTOFMEMORY 。 如需其他可能的傳回值,請參閱 Direct3D 12 傳回碼

備註

堆積會在系統記憶體中建立,並允許 CPU 存取。 它會包裝整個 VirtualAlloc 區域。

堆積可用於放置和保留的資源,就像其他堆積一樣正交。 限制可能仍會以無法選擇應用程式的旗標為基礎。

需求

   
目標平台 Windows
標頭 d3d12.h
程式庫 D3d12.lib
Dll D3d12.dll

另請參閱

ID3D12Device3 介面