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

# CreateHeap1 (consoles XBOX Series)

> Cria um heap (opcionalmente para uma sessão protegida) que pode ser usado com recursos posicionados e recursos reservados.

Cria um heap (opcionalmente para uma sessão protegida) que pode ser usado com recursos posicionados e recursos reservados. Consulte também [ID3D12Device::CreateHeap](/pt-BR/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createheap_public).

## Sintaxe

```cpp theme={null}
HRESULT CreateHeap1(
    const D3D12_HEAP_DESC  pDesc,
    ID3D12ProtectedResourceSession  pProtectedSession,
    const IID & riid,
    void  ppvHeap
)
```

### Parâmetros

*pDesc \[in]*<br />Tipo: const D3D12\_HEAP\_DESC \*

Um ponteiro para uma estrutura constante **D3D12\_HEAP\_DESC** que descreve o heap.

*pProtectedSession \[in, optional]*<br />Tipo: ID3D12ProtectedResourceSession \*

Um ponteiro opcional para um objeto que representa uma sessão de proteção de conteúdo. Se fornecida, essa sessão indica que o heap deve ser protegido. Você pode obter uma **ID3D12ProtectedResourceSession** chamando [ID3D12Device4::CreateProtectedResourceSession](/pt-BR/reference/graphics/d3d12/interfaces/id3d12device4/methods/id3d12device4_createprotectedresourcesession_public).

Um heap com uma sessão protegida não pode ser criado com o sinalizador [D3D12\_HEAP\_FLAG\_SHARED\_CROSS\_ADAPTER](/pt-BR/reference/graphics/d3d12_x/enums/d3d12_heap_flags).

*riid \[in]*<br />Tipo: const IID &

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

Embora *riidResource* seja mais comumente o **GUID** de [ID3D12Heap](/pt-BR/reference/graphics/d3d12/interfaces/id3d12heap/id3d12heap_public), 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**.

*ppvHeap \[out, optional]*<br />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 permitir o teste de capacidade. 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, retornará um [código de erro](https://learn.microsoft.com/en-us/windows/win32/com/com-error-codes-10) [**HRESULT**](https://learn.microsoft.com/en-us/windows/desktop/com/structure-of-com-error-codes).

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

Consulte [Códigos de retorno do Direct3D 12](https://learn.microsoft.com/en-us/windows/win32/direct3d12/d3d12-graphics-reference-returnvalues) para outros valores retornados possíveis.

## Comentários

**CreateHeap1** cria um heap que pode ser usado com recursos posicionados e recursos reservados.

Antes de liberar a referência final ao heap, seu aplicativo deve garantir que a GPU não lerá nem gravará mais neste heap.

Um objeto de recurso posicionado mantém uma referência ao heap no qual foi criado; mas um recurso reservado não mantém uma referência para cada mapeamento feito para um heap.

## Requisitos

**Cabeçalho:** d3d12\_xs.h<br />**Biblioteca:** d3d12\_xs.lib<br />**Plataformas com suporte**: consoles XBOX Series

## Confira também


## Related topics

- [CreatePlacedResource2 (consoles XBOX Series)](/pt-BR/reference/graphics/d3d12/interfaces/id3d12device10/methods/id3d12device10_createplacedresource2_public.md)
- [CreateReservedResource2 (consoles XBOX Series)](/pt-BR/reference/graphics/d3d12/interfaces/id3d12device10/methods/id3d12device10_createreservedresource2_public.md)
- [CreateMetaCommand (consoles XBOX Series)](/pt-BR/reference/graphics/d3d12/interfaces/id3d12device5/methods/id3d12device5_createmetacommand_public.md)
- [CreateCommandList1 (consoles XBOX Series)](/pt-BR/reference/graphics/d3d12/interfaces/id3d12device4/methods/id3d12device4_createcommandlist1_public.md)
- [CreateCommandQueue1 (consoles XBOX Series)](/pt-BR/reference/graphics/d3d12/interfaces/id3d12device9/methods/id3d12device9_createcommandqueue1_public.md)
