> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# CreateCommittedResource2 (consoles XBOX Series)

> Cria um recurso e um heap, de modo que o heap seja grande o suficiente para conter o recurso inteiro e o recurso seja mapeado para o heap.

Cria um recurso e um heap, de modo que o heap seja grande o suficiente para conter o recurso inteiro e o recurso seja mapeado para o heap.

## Sintaxe

```cpp theme={null}
HRESULT CreateCommittedResource2(  
         const D3D12_HEAP_PROPERTIES* pHeapProperties,  
         D3D12_HEAP_FLAGS HeapFlags,  
         const D3D12_RESOURCE_DESC1* pDesc,  
         D3D12_RESOURCE_STATES InitialResourceState,  
         const D3D12_CLEAR_VALUE* pOptimizedClearValue,  
         ID3D12ProtectedResourceSession* pProtectedSession,  
         REFIID riidResource,  
         void** ppvResource  
)  
```

### Parâmetros

*pHeapProperties*   \_In\_\
Tipo: D3D12\_HEAP\_PROPERTIES\*

Um ponteiro para uma estrutura D3D12\_HEAP\_PROPERTIES que fornece propriedades para o heap do recurso.

*HeapFlags*   \
Tipo: [D3D12\_HEAP\_FLAGS](/pt-BR/reference/graphics/d3d12_x/enums/d3d12_heap_flags)

Opções de heap, como uma combinação OR bit a bit de constantes de enumeração D3D12\_HEAP\_FLAGS.

*pDesc*   \_In\_\
Tipo: [D3D12\_RESOURCE\_DESC1\*](/pt-BR/reference/graphics/d3d12_xs/structs/d3d12_resource_desc1)

Um ponteiro para uma estrutura D3D12\_RESOURCE\_DESC1 que descreve o recurso.

*InitialResourceState*   \
Tipo: [D3D12\_RESOURCE\_STATES](/pt-BR/reference/graphics/d3d12_x/enums/d3d12_resource_states)

O estado inicial do recurso, como uma combinação OR bit a bit de constantes de enumeração D3D12\_RESOURCE\_STATES.

Ao criar um recurso junto com um heap D3D12\_HEAP\_TYPE\_UPLOAD, você deve definir InitialResourceState como D3D12\_RESOURCE\_STATE\_GENERIC\_READ.

Ao criar um recurso junto com um heap D3D12\_HEAP\_TYPE\_READBACK, você deve definir InitialResourceState como D3D12\_RESOURCE\_STATE\_COPY\_DEST.

*pOptimizedClearValue*   \_In\_opt\_\
Tipo: D3D12\_CLEAR\_VALUE\*

Especifica uma estrutura D3D12\_CLEAR\_VALUE que descreve o valor padrão de uma cor de limpeza.

pOptimizedClearValue especifica um valor para o qual as operações de limpeza são mais otimizadas. 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 de limpeza será chamada com mais frequência. Você pode chamar a operação de limpeza com outros valores, mas essas operações não serão tão eficientes quanto quando o valor corresponde ao que foi passado na criação do recurso.

Ao usar D3D12\_RESOURCE\_DIMENSION\_BUFFER, você deve definir pOptimizedClearValue como nullptr.

*pProtectedSession*   \_In\_opt\_\
Tipo: ID3D12ProtectedResourceSession\*

Um ponteiro opcional para um objeto que representa uma sessão de proteção de conteúdo. Sem suporte no XBOX e deve ser NULL.

*riidResource*   \_In\_\
Tipo: REFIID

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

Embora riidResource seja mais comumente o GUID de ID3D12Resource, ele pode ser o GUID de qualquer interface. Se o objeto de recurso não der suporte à interface desse GUID, a criação falhará com E\_NOINTERFACE.

*ppvResource*   \_COM\_Outptr\_\
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 nullptr, para permitir o teste de capacidade. Quando ppvResource é 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, retornará um código de erro HRESULT.

| Valor retornado | Descrição |
| - | - |
| E\_OUTOFMEMORY | Não há memória suficiente para criar o recurso. |

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

## Comentários

Esse método cria um recurso e um heap, de modo que o heap seja grande o suficiente para conter o recurso inteiro e o recurso seja mapeado para o heap. O heap criado é conhecido como heap implícito, porque o objeto heap não pode ser obtido pelo aplicativo. Antes de liberar a referência final ao recurso, seu aplicativo deve garantir que a GPU não lerá nem gravará mais nesse recurso.

O heap implícito se torna residente para acesso da GPU antes que o método retorne o controle ao seu aplicativo. Consulte também Residência.

O mapeamento de VA da GPU do recurso não pode ser alterado.

Esse método pode ser chamado por vários threads simultaneamente.

## Requisitos

**Cabeçalho:** d3d12\_xs.h

**Biblioteca:** d3d12\_xs.lib\
**Plataformas compatíveis**: consoles XBOX Series

## Confira também

[Visão geral da API Sampler Feedback do Direct3D 12](https://learn.microsoft.com/en-us/gaming/gdk/_content/gc/graphics/newfeatures/sfs/sf-api-design)

[ID3D12Device8](/pt-BR/reference/graphics/d3d12_xs/interfaces/ID3D12Device8/id3d12device8)


## Related topics

- [CreateReservedResource2 (XBOX Series consoles)](/ja-jp/reference/graphics/d3d12/interfaces/id3d12device10/methods/id3d12device10_createreservedresource2_public.md)
- [CreatePlacedResource2 (XBOX Series consoles)](/reference/graphics/d3d12/interfaces/id3d12device10/methods/id3d12device10_createplacedresource2_public.md)
- [CreateReservedResource2 (XBOX Series 콘솔)](/ko/reference/graphics/d3d12/interfaces/id3d12device10/methods/id3d12device10_createreservedresource2_public.md)
- [CreateReservedResource2 (XBOX Series 主机)](/zh-CN/reference/graphics/d3d12/interfaces/id3d12device10/methods/id3d12device10_createreservedresource2_public.md)
- [CreateReservedResource2 (consolas XBOX Series)](/es/reference/graphics/d3d12/interfaces/id3d12device10/methods/id3d12device10_createreservedresource2_public.md)
