Metodo ID3D12Device::CreateHeap (d3d12.h)
Crea un heap che può essere usato con risorse inserite e risorse riservate.
Sintassi
HRESULT CreateHeap(
[in] const D3D12_HEAP_DESC *pDesc,
[in] REFIID riid,
[out, optional] void **ppvHeap
);
Parametri
[in] pDesc
Tipo: const D3D12_HEAP_DESC*
Puntatore a una struttura costante D3D12_HEAP_DESC che descrive l'heap.
[in] riid
Tipo: REFIID
Riferimento all'identificatore univoco globale (GUID) dell'interfaccia heap da restituire in ppvHeap.
Anche se riidResource è più comunemente il GUID di ID3D12Heap, può essere il GUID di qualsiasi interfaccia. Se l'oggetto risorsa non supporta l'interfaccia per questo GUID, la creazione non riesce con E_NOINTERFACE.
[out, optional] ppvHeap
Tipo: void**
Puntatore facoltativo a un blocco di memoria che riceve il puntatore dell'interfaccia richiesto all'oggetto heap creato.
ppvHeap può essere nullptr
, per abilitare i test delle funzionalità. Quando ppvHeap è nullptr
, non viene creato alcun oggetto e S_FALSE viene restituito quando pDesc è valido.
Valore restituito
Tipo: HRESULT
Se la funzione ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di erroreHRESULT.
Valore restituito | Descrizione |
---|---|
E_OUTOFMEMORY | Memoria insufficiente per creare l'heap. |
Vedere Codici restituiti Direct3D 12 per altri valori restituiti possibili.
Commenti
CreateHeap crea un heap che può essere usato con risorse inserite e risorse riservate.
Prima di rilasciare il riferimento finale nell'heap, l'applicazione deve assicurarsi che la GPU non possa più leggere o scrivere in questo heap.
Un oggetto risorsa posizionato contiene un riferimento nell'heap creato; ma una risorsa riservata non contiene un riferimento per ogni mapping eseguito in un heap.
Requisiti
Piattaforma di destinazione | Windows |
Intestazione | d3d12.h |
Libreria | D3D12.lib |
DLL | D3D12.dll |