Skip to main content

XMEM_SET_ALLOCATION_HOOKS

Usada pelos títulos para registrar ganchos de alocação de memória.

Sintaxe

Parâmetros

AllocRoutine In Tipo: PXMEMALLOC_ROUTINE Ponteiro para a função de alocação do título. Consulte o tópico XMEMALLOC_ROUTINE para obter a definição dessa função. FreeRoutine In
Tipo: PXMEMFREE_ROUTINE
Ponteiro para a função de desalocação do título. Consulte o tópico XMEMFREE_ROUTINE para obter a definição dessa função.

Comentários

As alocações podem ser monitoradas (ou substituídas) com um retorno de chamada fornecido pelo título por meio da macro XMEM_SET_ALLOCATION_HOOKS. Com o uso adequado dessa macro, os títulos podem rastrear todas as alocações feitas pelo código do título, bem como pelo código da plataforma. Se os títulos optarem por não fornecer seus próprios ganchos de alocação, XMemAllocDefault e XMemFreeDefault serão usados em seu lugar (consulte xmem.h para ver a declaração desses ganchos). Se os títulos quiserem fornecer ganchos de alocação para fins de rastreamento, mas não quiserem implementar seu próprio alocador, eles poderão chamar o alocador padrão diretamente. É importante fornecer uma implementação tanto para XMEMALLOC_ROUTINE quanto para XMEMFREE_ROUTINE se você conectar ganchos a elas; conectar um gancho a apenas uma delas será considerado um erro. Os ganchos fornecidos pelo título são exportados do executável do jogo e vinculados no momento do carregamento de xmem.dll (normalmente no momento em que o jogo é iniciado).
As funções registradas por XMemSetAllocationHooks devem ser definidas no exe do jogo para garantir que os endereços sejam preenchidos estaticamente. Se os ponteiros de função fornecidos se referirem a funções em DLLs referenciadas pelo exe do jogo, o compilador precisará emitir código de inicializador estático para preencher a memória, o qual pode ser executado depois que a plataforma tiver consultado os ganchos de substituição, resultando em comportamento imprevisível. Um aviso aparecerá na janela de saída do depurador se a plataforma detectar que isso pode ter ocorrido.

Requisitos

Cabeçalho: xmem.h Plataformas compatíveis: consoles da família XBOX One e consoles XBOX Series

Confira também

Referência de XMem
XMEM_ALLOCATION_HOOKS
XMEMALLOC_ROUTINE
XMEMFREE_ROUTINE
Last modified on October 6, 2026