Compartilhar via


Método ID3D12Device10::CreateReservedResource2 (d3d12.h)

Cria um recurso reservado e ainda não mapeado para nenhuma página em um heap.

Requer o SDK de Agilidade do DirectX 12 1.7 ou posterior.

Sintaxe

HRESULT CreateReservedResource2(
       const D3D12_RESOURCE_DESC      *pDesc,
       D3D12_BARRIER_LAYOUT           InitialLayout,
       const D3D12_CLEAR_VALUE        *pOptimizedClearValue,
       ID3D12ProtectedResourceSession *pProtectedSession,
       UINT32                         NumCastableFormats,
       const DXGI_FORMAT              *pCastableFormats,
  [in] REFIID                         riid,
       void                           **ppvResource
);

Parâmetros

pDesc

Tipo: const D3D12_RESOURCE_DESC*

Um ponteiro para uma estrutura de D3D12_RESOURCE_DESC que descreve o recurso.

InitialLayout

O layout inicial do recurso de textura; D3D12_BARRIER_LAYOUT::D 3D12_BARRIER_LAYOUT_UNDEFINED para buffers.

pOptimizedClearValue

Tipo: const D3D12_CLEAR_VALUE*

Especifica uma estrutura de D3D12_CLEAR_VALUE que descreve o valor padrão para uma cor clara.

pOptimizedClearValue especifica um valor para o qual as operações claras são mais ideais. Quando o recurso criado é uma textura com os sinalizadores D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET ou D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL, você deve escolher o valor com o qual a operação clara será mais comumente chamada. Você pode chamar a operação clara com outros valores, mas essas operações não serão tão eficientes quanto quando o valor corresponder ao passado para a criação de recursos.

Ao usar D3D12_RESOURCE_DIMENSION_BUFFER, você deve definir pOptimizedClearValue para nullptr.

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 recurso deve ser protegido. Você pode obter um ID3D12ProtectedResourceSession chamando ID3D12Device4::CreateProtectedResourceSession.

NumCastableFormats

O número de elementos em pCastableFormats.

pCastableFormats

Uma matriz contígua de estruturas de DXGI_FORMAT às quais esse recurso pode ser convertido.

[in] riid

Tipo: REFIID

Uma referência ao identificador global exclusivo (GUID) da interface de recurso a ser retornada em ppvResource. Consultede Comentários do .

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

ppvResource

Tipo: void**

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

ppvResource pode ser nullptrpara habilitar o teste de capacidade. Quando ppvResource é 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 recurso.

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

Observações

Consulte de Comentários para ID3D12Device.CreateReservedResource.

Requisitos

Requisito Valor
da Plataforma de Destino Windows
cabeçalho d3d12.h
biblioteca D3d12.lib
de DLL D3d12.dll

Consulte também

CreateCommittedResource

CreatePlacedResource

ID3D12Device10