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

# XMemCreateWin32Heap

> XMemCreateWin32Heap

# XMemCreateWin32Heap

Crée un tas Win32.

<a id="syntaxSection" />

## Syntaxe

```cpp theme={null}
HANDLE XMemCreateWin32Heap(  
         ULONGLONG HeapFlags,  
         PVOID baseAddress  
)  
```

<a id="parametersSection" />

### Paramètres

*HeapFlags*   \_In\_<br />Type : ULONGLONG

Indique la source de la mémoire du tas à créer.

| Indicateur | Description |
| - | - |
| `XMEM_HEAP_DEFAULT` | La mémoire du tas est allouée à partir de la partition du titre. Vous devez spécifier `NULL` pour *baseAddress* lorsque vous utilisez cet indicateur. |
| `XMEM_HEAP_TOOL` | La mémoire du tas est allouée à partir de la partition des outils, si celle-ci est disponible. Vous devez spécifier `NULL` pour *baseAddress* lorsque vous utilisez cet indicateur. |
| `XMEM_HEAP_INPLACE` | Le bloc de mémoire spécifié dans *baseAddress* est utilisé par le tas. Vous devez spécifier une adresse en mémoire validée pour *baseAddress* lorsque vous utilisez cet indicateur. |
| `XMEM_HEAP_64K_PAGES` | La mémoire du tas est allouée à l'aide de pages de 64 Ko au lieu de pages de 2 Mo. |

*baseAddress*   \_In\_<br />Type : PVOID

Adresse de base de l'allocation de tas sur place. Si `HeapFlags` est défini sur `XMEM_HEAP_INPLACE`, cette valeur doit pointer vers une adresse en mémoire validée alignée sur une limite de 4 Ko ; sinon, cette valeur doit être définie sur `NULL`.

<a id="retvalSection" />

### Valeur renvoyée

Type : HANDLE

Renvoie un handle vers le tas Win32 créé en cas de réussite ; sinon, renvoie `NULL`. Si elles sont disponibles, des informations d'erreur étendues sont fournies au rappel [XErrorCallback](/fr/reference/system/xerror/functions/xerrorcallback) actuel de votre application.

<a id="remarksSection" />

## Remarques

Cette fonction crée un tas Win32, en allouant la mémoire du tas à partir de la source et de l'adresse de base indiquées respectivement par `HeapFlags` et `baseAddress`. Si `XMEM_HEAP_INPLACE` n'a pas été spécifié dans `HeapFlags` lors de la création du tas, le tas s'appuie sur des pages de 2 Mo (ou sur des pages de 64 Ko si XMEM\_HEAP\_64K\_PAGES est spécifié). Si une erreur se produit lors de la tentative de création d'un tas Win32, cette méthode renvoie `NULL` et, si possible, l'erreur est signalée au rappel [XErrorCallback](/fr/reference/system/xerror/functions/xerrorcallback) actuel de votre application. Pour plus d'informations sur la gestion des cas d'erreur exceptionnels, consultez [XError](/fr/reference/system/xerror/xerror_members).

Pour plus d'informations sur la configuration de la mémoire et l'accès à celle-ci, consultez [Configuration de la mémoire pour votre titre et votre kit de développement](/fr/build/console-features/memory/system-memory-tooling).

<a id="remarks_tooling" />

### Allocation de mémoire des outils

Si `XMEM_HEAP_TOOL` est spécifié dans `HeapFlags`, la fonction tente d'allouer de la mémoire à partir de la partition des outils pour créer le tas Win32, en fonction des paramètres du mode Profilage et du mode Itération :

* Si le mode Itération est désactivé et que le mode Profilage est activé, la fonction tente d'allouer la quantité de mémoire demandée à partir de la partition des outils. Si la quantité demandée n'est pas disponible, une erreur se produit.
* Si le mode Itération est désactivé et que le mode Profilage est désactivé, une erreur se produit.
* Si le mode Itération est activé, la fonction tente d'allouer la quantité de mémoire demandée à partir de la partition du titre. Si la quantité demandée n'est pas disponible, une erreur se produit.

Lorsque le mode Profilage est activé, de la mémoire supplémentaire est mise à la disposition de votre titre ; elle peut être utilisée pendant le développement pour tout usage, des outils du moteur de jeu aux ressources de jeu non optimisées. Pour plus d'informations sur le mode Profilage, consultez [Mode Profilage](/fr/build/console-features/debugging-diagnostics/profiling-mode). La partition des outils n'est pas disponible lorsque le mode Itération est activé.

Vous pouvez utiliser la fonction [XMemIsToolsMemAvailable](/fr/reference/system/xmem/functions/xmemistoolsmemavailable) pour vérifier si la mémoire de la partition des outils est disponible en mode Profilage.

<a id="requirementsSection" />

## Configuration requise

**En-tête :** xmem.h

**Bibliothèque :** xmem.lib

**Plateformes prises en charge :** consoles de la famille XBOX One et consoles XBOX Series

<a id="seealsoSection" />

## Voir aussi

[Mémoire](/fr/build/console-features/memory/system-memory-overview)<br />[XMem](/fr/reference/system/xmem/xmem_members)


## Related topics

- [XMemCreateWin32Heap](/reference/system/xmem/functions/xmemcreatewin32heap.md)
- [PHEAP_TRACK_ALLOC_ROUTINE callback](/reference/system/xmem/functions/pheap_track_alloc_routine.md)
- [PHEAP_TRACK_FREE_ROUTINE callback](/reference/system/xmem/functions/pheap_track_free_routine.md)
- [PHEAP_TRACK_REALLOC_ROUTINE callback](/reference/system/xmem/functions/pheap_track_realloc_routine.md)
