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

Vedi anche

ID3D12Device

Heaps condivisi