Skip to main content

XMEM_SET_ALLOCATION_HOOKS

Utilisée par les titres pour inscrire des crochets d’allocation de mémoire.

Syntaxe

Paramètres

AllocRoutine In Type : PXMEMALLOC_ROUTINE Pointeur vers la fonction d’allocation du titre. Consultez la rubrique XMEMALLOC_ROUTINE pour la définition de cette fonction. FreeRoutine In
Type : PXMEMFREE_ROUTINE
Pointeur vers la fonction de désallocation du titre. Consultez la rubrique XMEMFREE_ROUTINE pour la définition de cette fonction.

Remarques

Les allocations peuvent être surveillées (ou remplacées) à l’aide d’un rappel fourni par le titre au moyen de la macro XMEM_SET_ALLOCATION_HOOKS. En utilisant correctement cette macro, les titres peuvent suivre chaque allocation effectuée par le code du titre ainsi que par le code de la plateforme. Si les titres choisissent de ne pas fournir leurs propres crochets d’allocation, XMemAllocDefault et XMemFreeDefault seront utilisés à la place (consultez xmem.h pour la déclaration de ces crochets.) Si les titres souhaitent fournir des crochets d’allocation à des fins de suivi, mais ne souhaitent pas implémenter leur propre allocateur, ils peuvent appeler directement l’allocateur par défaut. Il est important de fournir une implémentation pour XMEMALLOC_ROUTINE et pour XMEMFREE_ROUTINE si vous les interceptez; intercepter une seule d’entre elles sera considéré comme une erreur. Les crochets fournis par le titre sont exportés à partir de l’exécutable du jeu et sont liés au moment du chargement de xmem.dll (normalement au moment où le jeu est lancé).
Les fonctions inscrites par XMemSetAllocationHooks doivent être définies dans l’exécutable du jeu afin de garantir que les adresses sont renseignées de manière statique. Si les pointeurs de fonction fournis font référence à des fonctions dans des DLL référencées par l’exécutable du jeu, le compilateur doit émettre du code d’initialisation statique pour renseigner la mémoire, lequel pourrait s’exécuter après que la plateforme a interrogé les crochets de remplacement, ce qui entraînerait un comportement imprévisible. Un avertissement apparaîtra dans la fenêtre de sortie du débogueur si la plateforme détecte que cela a pu se produire.

Configuration requise

En-tête : xmem.h Plateformes prises en charge : consoles de la famille XBOX One et consoles XBOX Series

Voir aussi

Référence XMem
XMEM_ALLOCATION_HOOKS
XMEMALLOC_ROUTINE
XMEMFREE_ROUTINE
Last modified on October 6, 2026