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

> Crée un tas (éventuellement pour une session protégée) qui peut être utilisé avec des ressources placées et des ressources réservées.

Crée un tas (éventuellement pour une session protégée) qui peut être utilisé avec des ressources placées et des ressources réservées. Consultez également [ID3D12Device::CreateHeap](/fr/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createheap_public).

## Syntaxe

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

### Paramètres

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

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

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

Pointeur facultatif vers un objet qui représente une session de protection du contenu. S'il est fourni, cette session indique que le tas doit être protégé. Vous pouvez obtenir un **ID3D12ProtectedResourceSession** en appelant [ID3D12Device4::CreateProtectedResourceSession](/fr/reference/graphics/d3d12/interfaces/id3d12device4/methods/id3d12device4_createprotectedresourcesession_public).

Un tas avec une session protégée ne peut pas être créé avec l'indicateur [D3D12\_HEAP\_FLAG\_SHARED\_CROSS\_ADAPTER](/fr/reference/graphics/d3d12_x/enums/d3d12_heap_flags).

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

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

Bien que *riidResource* soit le plus souvent le **GUID** de [ID3D12Heap](/fr/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 correspondant à ce **GUID**, la création échoue avec **E\_NOINTERFACE**.

*ppvHeap \[out, optional]*<br />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 renvoyé si *pDesc* est valide.

### Valeur renvoyée

Type : HRESULT

Si la fonction réussit, elle renvoie **S\_OK**. Sinon, elle renvoie 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 renvoyée | 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

**CreateHeap1** 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 et n'écrira plus dans ce tas.

Un objet ressource placée conserve une référence au tas sur lequel il est créé ; en revanche, une ressource réservée ne conserve pas de référence pour chaque mappage effectué vers un tas.

## Configuration requise

**En-tête :** d3d12\_xs.h<br />**Bibliothèque :** d3d12\_xs.lib<br />**Plateformes prises en charge** : consoles XBOX Series

## Voir aussi


## Related topics

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