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: voidComentá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.libPlataformas com suporte: consoles da família XBOX One e consoles XBOX Series
