> ## 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 mémoire du tas à créer.

| Indicateur | Description |
| - | - |
| `XMEM_HEAP_DEFAULT` | La mémoire du tas est allouée à partir de la partition de 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 la partition 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

L'adresse de base pour l'allocation du tas sur place. Si `HeapFlags` est défini à `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 à `NULL`.

<a id="retvalSection" />

### Valeur de retour

Type : HANDLE

Retourne un handle vers le tas Win32 créé, en cas de réussite; sinon, retourne `NULL`. Si elles sont disponibles, des informations d'erreur étendues sont fournies au rappel [XErrorCallback](/fr-CA/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 est soutenu par des pages de 2 Mo (ou 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 retourne `NULL` et, si possible, l'erreur est signalée au rappel [XErrorCallback](/fr-CA/reference/system/xerror/functions/xerrorcallback) actuel de votre application. Pour plus d'informations sur la gestion des cas d'erreur exceptionnels, consultez [XError](/fr-CA/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 trousse de développement](/fr-CA/build/console-features/memory/system-memory-tooling).

<a id="remarks_tooling" />

### Allocation de mémoire d'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, selon les 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 de 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 et peut être utilisée pendant le développement pour tout ce qui va des outils de moteur de jeu aux ressources de jeu non optimisées. Pour plus d'informations sur le mode Profilage, consultez [Mode Profilage](/fr-CA/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-CA/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-CA/build/console-features/memory/system-memory-overview)<br />[XMem](/fr-CA/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)
