XMemSetOption
Définit un paramètre de configuration pour XMem.Syntaxe
Paramètres
option _In_Type : XMEM_OPTION Configuration d’option à définir.
Valeur renvoyée
Type : voidRemarques
XMemSetOption permet de configurer des comportements facultatifs du système XMem. eXMEMOPT_VALIDATE_XMEMALLOC (BOOL)Active la vérification des propriétés de la mémoire renvoyée par un appel à XMemAlloc afin de s’assurer qu’elle respecte l’alignement, la taille de page, les protections de page et les attributs de cache du type de mémoire demandé. Cette option est destinée à être utilisée pendant le développement pour détecter les erreurs dans les implémentations privées de XMemAlloc. Le code source de la logique de vérification est fourni avec le Microsoft Game Development Kit (GDK). Pour plus d’informations, consultez la fonction
XmpVerifyXMemAllocRoutine dans \GXDK\gameKit\Source\amd64\heap.c.
eXMEMOPT_RAISE_HEAPFREE_CALLBACK_ON_REALLOC (BOOL)
Active l’appel du rappel HeapFree configuré par
XMemSetWin32HeapTrackingHooks lorsque HeapReAlloc a été appelée. Sans cette option, le rappel HeapReAlloc est appelé après la réallocation, avec l’ancienne et la nouvelle adresse. Lorsque cette option est définie, le rappel HeapFree est en plus appelé avant l’appel à HeapReAlloc, avec l’ancienne adresse.
eXMEMOPT_XMEMALLOCDEFAULT_TAG_VIRTUALALLOC (BOOL)
Active l’ajout d’une balise de validation à chaque appel à
XMemVirtualAlloc effectué par XMemAllocDefault pour satisfaire une allocation (par exemple, lorsque la requête d’allocation est trop volumineuse pour tenir dans un tas XMem interne). La balise de validation est ajoutée avec XMemMakeTag(‘XmVA’). Cela permet à un développeur de calculer la quantité totale de mémoire consommée par XMemAllocDefault. Pour plus d’informations, consultez Diagnostics et suivi de la mémoire.
eXMEMOPT_SET_XMEM_TAG_TREE_SIZE (INT)
Lorsque cette option est définie, l’espace de stockage alloué pour les balises XMem personnalisées est fixé à la taille spécifiée en mégaoctets.
eXMEMOPT_XMEM_WARN_WHEN_TAG_TREE_FULL (BOOL)
Lorsque cette option est définie, si l’espace de stockage alloué pour les balises XMem personnalisées est épuisé, un avertissement d’exécution est déclenché via
XError.
eXMEMOPT_XMEMALLOCDEFAULT_DISABLEPAGESIZEDEMOTION (BOOL)
Les tas XMem internes utilisés par
XMemAllocDefault sont initialement créés avec des pages de 2 Mo, mais sont configurés pour rétrograder vers des pages de 64 Ko en cas d’échec de l’agrandissement du tas avec des pages de 2 Mo. Cet indicateur désactive ce comportement de rétrogradation. Le code source de la logique de rétrogradation de la taille de page est fourni avec le Microsoft Game Development Kit (GDK). Pour plus d’informations, consultez la fonction XmpAllocateHeapMemory dans \GXDK\gameKit\Source\amd64\heap.c
eXMEMOPT_XMEMALLOCDEFAULT_TRAPUSEAFTERFREE (BOOL)
Cette option configure
XMemAllocDefault pour promouvoir en appels XMemVirtualAlloc toutes les allocations qui seraient normalement traitées par les tas XMem internes. En outre, la mémoire est libérée à l’aide de VirtualFree(MEM_DECOMMIT). Bien que cela entraîne intentionnellement une fuite d’espace d’adressage virtuel et finisse par provoquer un échec d’allocation, il s’agit d’une aide au diagnostic utile pour détecter les erreurs d’utilisation après libération. Le code source de la logique de promotion est fourni avec le Microsoft Game Development Kit (GDK). Pour plus d’informations, consultez l’utilisation de la variable XmpTrapUseAfterFree dans \GXDK\gameKit\Source\amd64\heap.c
eXMEMOPT_XMEMALLOCDEFAULT_USE64KPAGES (BOOL)
Cette option configure
XMemAllocDefault pour utiliser des pages de 64 Ko au lieu de pages de 2 Mo pour les tas XMem internes. En outre, les tas qui utilisent des pages de 64 Ko ont une granularité de validation/annulation de validation de 512 Ko au lieu de 2 Mo. Le code source de l’implémentation de XMemAllocDefalt est fourni avec le Microsoft Game Development Kit (GDK). Pour plus d’informations, consultez le fichier \GXDK\gameKit\Source\amd64\heap.c
eXMEMOPT_ALLOW_WRITEABLE_FILEMAPPINGS (BOOL)
Lorsque cette option est activée, les appels à
CreateFileMappingA/W réussissent lorsqu’ils sont effectués avec des indicateurs d’écriture.
Configuration requise
En-tête : xmem.h Bibliothèque : xmem.libPlateformes prises en charge : consoles de la famille XBOX One et consoles XBOX Series
