Share via


Método ID3D12Device::CreateHeap (d3d12.h)

Cria um heap que pode ser usado com recursos colocados e recursos reservados.

Sintaxe

HRESULT CreateHeap(
  [in]            const D3D12_HEAP_DESC *pDesc,
  [in]            REFIID                riid,
  [out, optional] void                  **ppvHeap
);

Parâmetros

[in] pDesc

Tipo: const D3D12_HEAP_DESC*

Um ponteiro para uma estrutura de D3D12_HEAP_DESC constante que descreve o heap.

[in] riid

Tipo: REFIID

Uma referência ao GUID (identificador global exclusivo) da interface de heap a ser retornada em ppvHeap.

Embora riidResource seja mais comumente o GUID de ID3D12Heap, ele pode ser o GUID de qualquer interface. Se o objeto de recurso não der suporte à interface para esse GUID, a criação falhará com E_NOINTERFACE.

[out, optional] ppvHeap

Tipo: void**

Um ponteiro opcional para um bloco de memória que recebe o ponteiro de interface solicitado para o objeto heap criado.

ppvHeap pode ser nullptr, para habilitar o teste de funcionalidade. Quando ppvHeap é nullptr, nenhum objeto é criado e S_FALSE é retornado quando pDesc é válido.

Valor retornado

Tipo: HRESULT

Se a função for bem-sucedida, ela retornará S_OK. Caso contrário, ele retornará um código de erroHRESULT.

Valor retornado Descrição
E_OUTOFMEMORY Não há memória suficiente para criar o heap.

Confira Códigos de retorno do Direct3D 12 para obter outros valores retornados possíveis.

Comentários

CreateHeap cria um heap que pode ser usado com recursos colocados e recursos reservados.

Antes de liberar a referência final no heap, seu aplicativo deve garantir que a GPU não será mais lida ou gravada nesse heap.

Um objeto de recurso colocado contém uma referência no heap no qual ele é criado; mas um recurso reservado não contém uma referência para cada mapeamento feito em um heap.

Requisitos

   
Plataforma de Destino Windows
Cabeçalho d3d12.h
Biblioteca D3D12.lib
DLL D3D12.dll

Confira também

ID3D12Device

Heaps compartilhados