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

# XMemAlloc

> XMemAlloc est un rappel d'allocation de mémoire défini par l'application sur le GDK XBOX, qui remplace l'allocateur par défaut des tas CRT et système.

# XMemAlloc

Représente une fonction de rappel d'allocation de mémoire définie par l'application qui remplace l'allocateur de mémoire par défaut.

<a id="syntaxSection" />

## Syntaxe

```cpp theme={null}
PVOID XMemAlloc(  
         SIZE_T Size,  
         ULONGLONG Attributes  
)  
```

<a id="parametersSection" />

### Paramètres

*Size*   \_In\_<br />Type : SIZE\_T

Taille du bloc de mémoire demandé, en octets.

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

Attributs de l'allocation de mémoire. Pour plus d'informations, consultez [XALLOC\_ATTRIBUTES](/fr/reference/system/xmem/structs/xalloc_attributes).

<a id="retvalSection" />

### Valeur de retour

Type : PVOID

Pointeur vers la mémoire allouée en cas de réussite ; sinon, `NULL`.

<a id="remarksSection" />

## Remarques

Vous pouvez implémenter cette fonction pour fournir une allocation de mémoire propre à l'application. La définition de cette fonction doit correspondre à celle de la fonction [XMEMALLOC\_ROUTINE](/fr/reference/system/xmem/functions/xmemalloc_routine). De même, vous pouvez également implémenter la fonction [XMemFree](/fr/reference/system/xmem/functions/xmemfree), conformément à la définition de la fonction [XMEMFREE\_ROUTINE](/fr/reference/system/xmem/functions/xmemfree_routine), pour fournir une désallocation de mémoire propre à l'application.

Une fois l'implémentation effectuée, vous pouvez utiliser la fonction [XMemSetAllocationHooks](/fr/reference/system/xmem/functions/xmemsetallocationhooks) pour remplacer les fonctions d'allocation et de désallocation de mémoire par défaut par vos propres fonctions `XMemAlloc` et `XMemFree` propres à l'application. Pour plus d'informations sur `XMemAlloc`, consultez [Vue d'ensemble de la mémoire graphique pour le GDK](/fr/build/core-features/graphics/graphics-memory-overview).

<Note>
  Le code source de l'implémentation par défaut de **XMemAlloc** est installé avec le Microsoft Game Development Kit (GDK). Pour plus d'informations, consultez la fonction `XMemAllocDefault` dans `\GXDK\gameKit\Source\amd64\heap.c`.
</Note>

<Note>
  Si vous implémentez votre propre fonction **XMemAlloc**, il est extrêmement important de ne pas y effectuer d'appel au pilote Direct3D 12. En effet, le fonctionnement normal du pilote peut entraîner l'appel de **XMemAlloc** sans aucune protection contre la récursivité. Cette exigence s'étend à l'interdiction d'effectuer des opérations Release finales sur des objets Direct3D 12, car elles peuvent entraîner des appels implicites au pilote.
</Note>

<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" />

## Documentation conceptuelle

* [Qu'est-ce que le Microsoft Game Development Kit ?](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/intro/introduction)

## Voir aussi

[Diagnostics et suivi de la mémoire](/fr/build/console-features/memory/system-memory-diagnostics)<br />[XMem](/fr/reference/system/xmem/xmem_members)<br />[XMemAllocDefault](/fr/reference/system/xmem/functions/xmemallocdefault)


## Related topics

- [Xmemalloc routine](/ko/reference/system/xmem/functions/xmemalloc_routine.md)
- [XMEMALLOC_ROUTINE callback](/reference/system/xmem/functions/xmemalloc_routine.md)
- [XMEM_ALLOCATION_HOOKS](/reference/system/xmem/structs/xmem_allocation_hooks.md)
