> ## 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.

# CreateCommittedResourceX (família XBOX One)

> Cria um recurso e um heap implícito grande o suficiente para conter o recurso inteiro. O recurso é mapeado para o heap.

Cria um recurso e um heap implícito grande o suficiente para conter o recurso inteiro. O recurso é mapeado para o heap.

## Sintaxe

```cpp theme={null}
HRESULT CreateCommittedResourceX(  
         const D3D12_HEAP_PROPERTIES* pHeapProperties,  
         D3D12_HEAP_FLAGS HeapFlags,  
         const D3D12XBOX_RESOURCE_DESC* pResourceDesc,  
         D3D12_RESOURCE_STATES InitialState,  
         const D3D12_CLEAR_VALUE* pOptimizedClearValue,  
         REFIID riidResource,  
         void** ppvResource  
)  
```

### Parâmetros

*pHeapProperties*   \_In\_<br />Tipo: [D3D12\_HEAP\_PROPERTIES\*](https://learn.microsoft.com/en-us/windows/desktop/api/d3d12/ns-d3d12-d3d12_heap_properties)

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

*HeapFlags*   <br />Tipo: [D3D12\_HEAP\_FLAGS](https://learn.microsoft.com/en-us/windows/win32/api/d3d12/ne-d3d12-d3d12_heap_flags)

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

*pResourceDesc*   \_In\_<br />Tipo: [D3D12XBOX\_RESOURCE\_DESC\*](/pt-BR/reference/graphics/d3d12_x/structs/d3d12xbox_resource_desc)

Um ponteiro para uma estrutura **D3D12XBOX\_RESOURCE\_DESC** que descreve o recurso.

*InitialState*   <br />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**.

Quando um recurso é criado junto com um heap **D3D12\_HEAP\_TYPE\_UPLOAD**, *InitialState* deve ser **D3D\_RESOURCE\_STATE\_GENERIC\_READ**. Quando um recurso é criado junto com um heap **D3D12\_HEAP\_TYPE\_READBACK**, *InitialState* deve ser **D3D12\_RESOURCE\_STATE\_COPY\_DEST**.

*pOptimizedClearValue*   \_In\_opt\_<br />Tipo: [D3D12\_CLEAR\_VALUE\*](https://learn.microsoft.com/en-us/windows/desktop/api/d3d12/ns-d3d12-d3d12_clear_value)

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

*riidResource*   <br />Tipo: REFIID

O GUID (identificador global exclusivo) da interface do recurso. Este é um parâmetro de entrada. Para recuperar o [REFIID](https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-oaut/bbde795f-5398-42d8-9f59-3613da03c318) (ou GUID) da interface para a fila de comandos, use a macro [\_\_uuidof()](https://learn.microsoft.com/en-us/cpp/cpp/uuidof-operator?view=vs-2019). Por exemplo, para obter o GUID da interface para um recurso:

```cpp theme={null}
__uuidof(ID3D12Resource)  
```

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

*ppvResource*   \_Outptr\_opt\_<br />Tipo: void\*\*

Um ponteiro para a memória que recebe o ponteiro de interface solicitado para o objeto de recurso criado. **ppvResource** pode ser **null**, para habilitar o teste de funcionalidades; quando **CreateCommittedResourceX** é chamado com **ppvResource** definido como **null**, nenhum objeto será criado e **S\_FALSE** será retornado quando **pResourceDesc** for válido.

### Valor retornado

Tipo: HRESULT

**E\_OUTOFMEMORY** se não houver memória suficiente para criar o recurso. Para outros valores retornados possíveis, confira os [códigos de retorno do Direct3D 12](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/d3d12-graphics-reference-returnvalues).

## Comentários

Esta função cria um recurso e um heap implícito grande o suficiente para conter o recurso inteiro, que é mapeado nele. O aplicativo não pode obter o heap criado. O aplicativo deve garantir que a GPU não possa mais ler ou gravar nesse recurso antes de liberar a referência final ao recurso.

O heap implícito se torna residente para acesso da GPU antes que a função retorne ao aplicativo. Para obter mais informações, confira [Residência](https://learn.microsoft.com/en-us/windows/win32/direct3d12/residency).

O mapeamento de VA da GPU do recurso não pode ser alterado. Para obter mais informações, confira [UpdateTileMappings](https://learn.microsoft.com/en-us/windows/win32/api/d3d12/nf-d3d12-id3d12commandqueue-updatetilemappings) e [Recursos em blocos de volume](https://learn.microsoft.com/en-us/windows/win32/direct3d12/volume-tiled-resources).

Esta função é thread-safe.

## Requisitos

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

**Biblioteca:** d3d12\_x.lib

**Plataformas com suporte:** família XBOX One

## Confira também

[ID3D12Device](/pt-BR/reference/graphics/d3d12_x/interfaces/id3d12device/id3d12device)


## Related topics

- [CreateCommittedResource](/es/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createcommittedresource_public.md)
- [CreateCommittedResource1 (XBOX Series consoles)](/reference/graphics/d3d12/interfaces/id3d12device4/methods/id3d12device4_createcommittedresource1_public.md)
- [CreateCommittedResource3 (XBOX Series consoles)](/reference/graphics/d3d12/interfaces/id3d12device10/methods/id3d12device10_createcommittedresource3_public.md)
- [CreateCommittedResource1 (consolas XBOX Series)](/es/reference/graphics/d3d12/interfaces/id3d12device4/methods/id3d12device4_createcommittedresource1_public.md)
- [CreateCommittedResource1 (XBOX Series 主机)](/zh-CN/reference/graphics/d3d12/interfaces/id3d12device4/methods/id3d12device4_createcommittedresource1_public.md)
