Compartilhar via


Método ID3D12Device4::CreateHeap1 (d3d12.h)

Cria um heap (opcionalmente para uma sessão protegida) que pode ser usado com recursos colocados e recursos reservados. Consulte também ID3D12Device::CreateHeap.

Sintaxe

HRESULT CreateHeap1(
  [in]            const D3D12_HEAP_DESC          *pDesc,
  [in, optional]  ID3D12ProtectedResourceSession *pProtectedSession,
  [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, optional] pProtectedSession

Tipo: ID3D12ProtectedResourceSession*

Um ponteiro opcional para um objeto que representa uma sessão para proteção de conteúdo. Se fornecida, esta sessão indica que o heap deve ser protegido. Você pode obter um ID3D12ProtectedResourceSession chamando ID3D12Device4::CreateProtectedResourceSession.

Um heap com uma sessão protegida não pode ser criado com o sinalizador D3D12_HEAP_FLAG_SHARED_CROSS_ADAPTER.

[in] riid

Tipo: REFIID

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

Embora riidResource seja mais comumente a GUID de ID3D12Heap, pode ser a GUID de qualquer interface. Se o objeto de recurso não der suporte à interface para este 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 nullptrpara habilitar o teste de funcionalidade. Quando ppvHeap é nullptr, nenhum objeto é criado e S_FALSE é retornado quando pDesc é válido.

Valor de retorno

Tipo: HRESULT

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

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

Consulte códigos de retorno do Direct3D 12 para obter outros valores de retorno possíveis.

Observações

CreateHeap1 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 leia ou escreva mais neste 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

Requisito Valor
de cliente com suporte mínimo Windows 10 Build 20348
servidor com suporte mínimo Windows 10 Build 20348
da Plataforma de Destino Windows
cabeçalho d3d12.h
biblioteca d3d12.lib
de DLL d3d12.dll