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 InType : 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 SeriesVoir aussi
Référence XMemXMEM_ALLOCATION_HOOKS
XMEMALLOC_ROUTINE
XMEMFREE_ROUTINE
