Skip to main content

XMemAlloc

Representa uma função de retorno de chamada de alocação de memória definida pelo aplicativo que substitui o alocador de memória padrão.

Sintaxe

Parâmetros

Size _In_
Tipo: SIZE_T
O tamanho do bloco de memória que está sendo solicitado, em bytes. Attributes _In_
Tipo: ULONGLONG
Os atributos da alocação de memória. Para obter mais informações, consulte XALLOC_ATTRIBUTES.

Valor retornado

Tipo: PVOID Um ponteiro para a memória alocada, se bem-sucedido; caso contrário, NULL.

Comentários

Você pode implementar essa função para fornecer alocação de memória específica do aplicativo. A definição dessa função deve corresponder à definição da função XMEMALLOC_ROUTINE. Da mesma forma, você também pode implementar a função XMemFree, correspondendo à definição da função XMEMFREE_ROUTINE, para fornecer desalocação de memória específica do aplicativo. Depois de implementá-las, você poderá usar a função XMemSetAllocationHooks para substituir as funções padrão de alocação e desalocação de memória por suas próprias funções XMemAlloc e XMemFree específicas do aplicativo. Para obter mais informações sobre XMemAlloc, consulte Visão geral da memória gráfica para o GDK.
O código-fonte da implementação padrão de XMemAlloc é instalado como parte do Microsoft Game Development Kit (GDK). Para obter mais informações, consulte a função XMemAllocDefault em \GXDK\gameKit\Source\amd64\heap.c.
Se você implementar sua própria função XMemAlloc, é extremamente importante que você não faça chamadas ao driver do Direct3D 12 a partir dela. Isso ocorre porque a operação normal do driver pode levar à invocação de XMemAlloc sem proteção contra recursão. O requisito se estende a não executar operações finais de Release em objetos do Direct3D 12, pois isso pode levar a chamadas implícitas ao driver.

Requisitos

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

Documentação conceitual

Confira também

Diagnóstico e rastreamento de memória
XMem
XMemAllocDefault
Last modified on October 6, 2026