XMemSetOption
Establece una opción de configuración para XMem.Sintaxis
Parámetros
option _In_Tipo: XMEM_OPTION Configuración de opción que se va a establecer.
Valor devuelto
Tipo: voidComentarios
XMemSetOption se usa para configurar comportamientos opcionales del sistema XMem. eXMEMOPT_VALIDATE_XMEMALLOC (BOOL)Habilita la verificación de las propiedades de memoria devueltas por una llamada a XMemAlloc para garantizar que cumple la alineación, el tamaño de página, las protecciones de página y los atributos de caché del tipo de memoria solicitado. Está pensada para usarse en tiempo de desarrollo con el fin de detectar errores en implementaciones privadas de XMemAlloc. El código fuente de la lógica de verificación se proporciona como parte del Microsoft Game Development Kit (GDK). Para obtener más información, consulte la función
XmpVerifyXMemAllocRoutine en \GXDK\gameKit\Source\amd64\heap.c.
eXMEMOPT_RAISE_HEAPFREE_CALLBACK_ON_REALLOC (BOOL)
Habilita la llamada a la devolución de llamada de HeapFree configurada por
XMemSetWin32HeapTrackingHooks cuando se ha llamado a HeapReAlloc. Sin esta opción, la devolución de llamada de HeapReAlloc se llama después de que se haya producido la reasignación, con la dirección antigua y la nueva. Cuando se establece esta opción, la devolución de llamada de HeapFree se llamará adicionalmente antes de la llamada a HeapReAlloc con la dirección antigua.
eXMEMOPT_XMEMALLOCDEFAULT_TAG_VIRTUALALLOC (BOOL)
Habilita la adición de una etiqueta de confirmación en cada llamada a
XMemVirtualAlloc realizada por XMemAllocDefault para satisfacer una asignación (por ejemplo, cuando la solicitud de asignación es demasiado grande para caber en un montón interno de XMem). La etiqueta de confirmación se agrega con XMemMakeTag(‘XmVA’). Esto permite a un desarrollador calcular la cantidad total de memoria consumida por XMemAllocDefault. Para obtener más información, consulte Diagnóstico y seguimiento de memoria.
eXMEMOPT_SET_XMEM_TAG_TREE_SIZE (INT)
Cuando se establece, el espacio de almacenamiento asignado para las etiquetas XMem personalizadas se establecerá en el tamaño especificado en megabytes.
eXMEMOPT_XMEM_WARN_WHEN_TAG_TREE_FULL (BOOL)
Cuando se establece, si el almacenamiento asignado para las etiquetas XMem personalizadas se agota, se generará una advertencia en tiempo de ejecución a través de
XError.
eXMEMOPT_XMEMALLOCDEFAULT_DISABLEPAGESIZEDEMOTION (BOOL)
Los montones internos de XMem usados por
XMemAllocDefault se crean inicialmente con páginas de 2 MB, pero están configurados para degradar a páginas de 64 KB si se produce un error al ampliar el montón con páginas de 2 MB. Esta marca deshabilita el comportamiento de degradación. El código fuente de la lógica de degradación del tamaño de página se proporciona como parte del Microsoft Game Development Kit (GDK). Para obtener más información, consulte la función XmpAllocateHeapMemory en \GXDK\gameKit\Source\amd64\heap.c
eXMEMOPT_XMEMALLOCDEFAULT_TRAPUSEAFTERFREE (BOOL)
Esta opción configura
XMemAllocDefault para promover cualquier asignación que normalmente atenderían los montones internos de XMem a llamadas a XMemVirtualAlloc. Además, la memoria se libera mediante VirtualFree(MEM_DECOMMIT). Aunque esto pierde intencionadamente espacio de direcciones virtuales y acabará provocando un error de asignación, es una ayuda de diagnóstico útil para detectar errores de uso después de liberación (use-after-free). El código fuente de la lógica de promoción se proporciona como parte del Microsoft Game Development Kit (GDK). Para obtener más información, consulte el uso de la variable XmpTrapUseAfterFree en \GXDK\gameKit\Source\amd64\heap.c
eXMEMOPT_XMEMALLOCDEFAULT_USE64KPAGES (BOOL)
Esta opción configura
XMemAllocDefault para usar páginas de 64 KB en lugar de páginas de 2 MB para los montones internos de XMem. Además, los montones que usan páginas de 64 KB tienen una granularidad de confirmación/anulación de confirmación de 512 KB en lugar de 2 MB. El código fuente de la implementación de XMemAllocDefalt se proporciona como parte del Microsoft Game Development Kit (GDK). Para obtener más información, consulte el archivo \GXDK\gameKit\Source\amd64\heap.c
eXMEMOPT_ALLOW_WRITEABLE_FILEMAPPINGS (BOOL)
Cuando está habilitada, esta opción permite que las llamadas a
CreateFileMappingA/W se realicen correctamente cuando se llaman con marcas de escritura.
Requisitos
Encabezado: xmem.h Biblioteca: xmem.libPlataformas compatibles: consolas de la familia XBOX One y consolas XBOX Series
