Skip to main content

XMemSetOption

Define uma configuração para o XMem.

Sintaxe

Parâmetros

option   _In_
Tipo: XMEM_OPTION
A configuração de opção a ser definida.

Valor retornado

Tipo: void

Comentários

XMemSetOption é usada para configurar comportamentos opcionais do sistema XMem. eXMEMOPT_VALIDATE_XMEMALLOC (BOOL)
Habilita a verificação das propriedades de memória retornadas por uma chamada para XMemAlloc para garantir que ela atenda ao alinhamento, ao tamanho de página, às proteções de página e aos atributos de cache do tipo de memória solicitado. Isso se destina a ser usado durante o desenvolvimento para detectar erros em implementações privadas de XMemAlloc. O código-fonte da lógica de verificação é fornecido como parte do Microsoft Game Development Kit (GDK). Para obter mais informações, confira a função XmpVerifyXMemAllocRoutine em \GXDK\gameKit\Source\amd64\heap.c.

eXMEMOPT_RAISE_HEAPFREE_CALLBACK_ON_REALLOC (BOOL)
Habilita a chamada do retorno de chamada HeapFree configurado por XMemSetWin32HeapTrackingHooks quando HeapReAlloc tiver sido chamado. Sem essa opção, o retorno de chamada HeapReAlloc é chamado após a realocação ter ocorrido, com o endereço antigo e o novo. Quando essa opção está definida, o retorno de chamada HeapFree também será chamado antes da chamada de HeapReAlloc, com o endereço antigo.

eXMEMOPT_XMEMALLOCDEFAULT_TAG_VIRTUALALLOC (BOOL)
Habilita a adição de uma marca de confirmação em cada chamada para XMemVirtualAlloc feita por XMemAllocDefault para atender a uma alocação (por exemplo, quando a solicitação de alocação é grande demais para caber em um heap XMem interno). A marca de confirmação é adicionada com XMemMakeTag(‘XmVA’). Isso permite que um desenvolvedor calcule a quantidade total de memória consumida por XMemAllocDefault. Para obter mais informações, confira Diagnóstico e rastreamento de memória.

eXMEMOPT_SET_XMEM_TAG_TREE_SIZE (INT)
Quando definida, o espaço de armazenamento alocado para marcas XMem personalizadas será definido com o tamanho especificado em megabytes.

eXMEMOPT_XMEM_WARN_WHEN_TAG_TREE_FULL (BOOL)
Quando definida, se o armazenamento alocado para marcas XMem personalizadas se esgotar, um aviso de tempo de execução será gerado por meio de XError.

eXMEMOPT_XMEMALLOCDEFAULT_DISABLEPAGESIZEDEMOTION (BOOL)
Os heaps XMem internos usados por XMemAllocDefault são inicialmente criados usando páginas de 2 MB, mas são configurados para recorrer ao rebaixamento para páginas de 64 KB caso encontrem uma falha ao aumentar o heap usando páginas de 2 MB. Esse sinalizador desabilita o comportamento de rebaixamento. O código-fonte da lógica de rebaixamento do tamanho de página é fornecido como parte do Microsoft Game Development Kit (GDK). Para obter mais informações, confira a função XmpAllocateHeapMemory em \GXDK\gameKit\Source\amd64\heap.c

eXMEMOPT_XMEMALLOCDEFAULT_TRAPUSEAFTERFREE (BOOL)
Essa opção configura XMemAllocDefault para promover a chamadas de XMemVirtualAlloc todas as alocações que normalmente seriam atendidas pelos heaps XMem internos. Além disso, a memória é liberada usando VirtualFree(MEM_DECOMMIT). Embora isso cause intencionalmente o vazamento de espaço de endereço virtual e acabe levando a uma falha de alocação, é um recurso de diagnóstico útil para detectar erros de uso após liberação. O código-fonte da lógica de promoção é fornecido como parte do Microsoft Game Development Kit (GDK). Para obter mais informações, confira o uso da variável XmpTrapUseAfterFree em \GXDK\gameKit\Source\amd64\heap.c

eXMEMOPT_XMEMALLOCDEFAULT_USE64KPAGES (BOOL)
Essa opção configura XMemAllocDefault para usar páginas de 64 KB em vez de páginas de 2 MB para os heaps XMem internos. Além disso, heaps que usam páginas de 64 KB têm uma granularidade de confirmação/descompromisso de 512 KB em vez de 2 MB. O código-fonte da implementação de XMemAllocDefalt é fornecido como parte do Microsoft Game Development Kit (GDK). Para obter mais informações, confira o arquivo \GXDK\gameKit\Source\amd64\heap.c

eXMEMOPT_ALLOW_WRITEABLE_FILEMAPPINGS (BOOL)
Quando habilitada, essa opção permite que chamadas para CreateFileMappingA/W tenham êxito quando chamadas com sinalizadores graváveis.

Requisitos

Cabeçalho: xmem.h Biblioteca: xmem.lib
Plataformas com suporte: consoles da família XBOX One e consoles XBOX Series

Confira também

XMem XMemMakeTag XError
Last modified on October 6, 2026