XMemSetOption
Définit un paramètre de configuration pour XMem.Syntaxe
Paramètres
option _In_Type : XMEM_OPTION La configuration d’option à définir.
Valeur de retour
Type : voidRemarques
XMemSetOption est utilisée pour configurer les comportements facultatifs du système XMem. eXMEMOPT_VALIDATE_XMEMALLOC (BOOL)Active la vérification des propriétés de la mémoire retourné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 dans le cadre du 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 sera 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 demande d’allocation est trop grande 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é aux balises XMem personnalisées sera 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é aux balises XMem personnalisées est épuisé, un avertissement d’exécution sera déclenché au moyen de
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 dans le cadre du 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. De plus, 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 dans le cadre du 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. De plus, les tas utilisant 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 dans le cadre du 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, elle permet aux appels à
CreateFileMappingA/W de réussir 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
