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

# CreateHeap

> Crée un tas qui peut être utilisé avec des ressources placées et des ressources réservées.

Crée un tas qui peut être utilisé avec des ressources placées et des ressources réservées.

## Syntaxe

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

### Paramètres

*pDesc \[in]*\
Type : const D3D12\_HEAP\_DESC \*

Pointeur vers une structure constante **D3D12\_HEAP\_DESC** qui décrit le tas.

*riid \[in]*\
Type : const IID &

Référence à l'identificateur global unique (**GUID**) de l'interface de tas à retourner dans *ppvHeap*.

Bien que *riidResource* soit le plus souvent le **GUID** de [ID3D12Heap](/fr-CA/reference/graphics/d3d12/interfaces/id3d12heap/id3d12heap_public), il peut s'agir du **GUID** de n'importe quelle interface. Si l'objet ressource ne prend pas en charge l'interface de ce **GUID**, la création échoue avec **E\_NOINTERFACE**.

*ppvHeap \[out, optional]*\
Type : void \*\*

Pointeur facultatif vers un bloc de mémoire qui reçoit le pointeur d'interface demandé vers l'objet tas créé.

*ppvHeap* peut être `nullptr` afin de permettre le test des capacités. Lorsque *ppvHeap* est `nullptr`, aucun objet n'est créé et **S\_FALSE** est retourné lorsque *pDesc* est valide.

### Valeur de retour

Type : HRESULT

Si la fonction réussit, elle retourne **S\_OK**. Sinon, elle retourne un [code d'erreur](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).

| Valeur de retour | Description |
| - | - |
| E\_OUTOFMEMORY | La mémoire est insuffisante pour créer le tas. |

Consultez [Codes de retour Direct3D 12](https://learn.microsoft.com/en-us/windows/win32/direct3d12/d3d12-graphics-reference-returnvalues) pour connaître les autres valeurs de retour possibles.

## Remarques

**CreateHeap** crée un tas qui peut être utilisé avec des ressources placées et des ressources réservées.

Avant de libérer la dernière référence au tas, votre application doit s'assurer que le GPU ne lira plus ce tas et n'y écrira plus.

Un objet ressource placée détient une référence sur le tas sur lequel il est créé; toutefois, une ressource réservée ne détient pas de référence pour chaque mappage effectué vers un tas.

## Configuration requise

**En-tête :** d3d12\_xs.h ou d3d12\_x.h\
**Bibliothèque :** d3d12\_xs.lib ou d3d12\_x.lib\
**Plateformes prises en charge :** consoles XBOX Series et famille XBOX One

## Voir aussi

[ID3D12Device](/fr-CA/reference/graphics/d3d12_x/interfaces/id3d12device/id3d12device)

[Tas partagés](https://learn.microsoft.com/en-us/windows/win32/direct3d12/shared-heaps)


## Related topics

- [CreateHeap1 (consoles XBOX Series)](/fr-CA/reference/graphics/d3d12/interfaces/id3d12device4/methods/id3d12device4_createheap1_public.md)
- [D3D12_FEATURE_DATA_EXISTING_HEAPS](/fr-CA/reference/graphics/d3d12/structs/d3d12_feature_data_existing_heaps_public.md)
- [CreateDescriptorHeap](/fr-CA/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createdescriptorheap_public.md)
- [CreateQueryHeap](/fr-CA/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createqueryheap_public.md)
- [ApuCreateHeap](/fr-CA/reference/audio/apu/functions/apucreateheap.md)
