Skip to main content

XMemMapPhysicalPagesScatter

Mapeia páginas físicas na memória virtual.

Sintaxe

Parâmetros

*VirtualAddressArray   _In_
Tipo: PVOID
A matriz de endereços virtuais nos quais as páginas devem ser mapeadas. Esse parâmetro não pode ser definido como NULL. Use XMemVirtualAlloc com MEM_RESERVE e XMEM_MAPPABLE para reservar um intervalo de endereços de memória a ser usado com XMemMapPhysicalPagesScatter. Os endereços virtuais reservados também devem ser criados com páginas de 64k por meio da opção MEM_64K_PAGES com XMemVirtualAlloc. NumberOfPages   _In_
Tipo: ULONG_PTR
O número de entradas em PageArray e VirtualAddressArray. Somente páginas de 64k reservadas por meio de XMemVirtualAlloc usando a opção MEM_64K_PAGES têm suporte. PageArray   _In_reads_opt_(NumberOfPages)
Tipo: PULONG_PTR
A matriz de PFNs (números de quadros de página) que representam as páginas físicas a serem mapeadas. Esse parâmetro pode ser definido como NULL. Se PageArray for definido como NULL, essa função executará uma operação de desmapeamento. Se uma entrada individual na matriz for definida como NULL, o endereço virtual correspondente será desmapeado.

Valor retornado

Tipo: BOOL Retorna TRUE se o mapeamento tiver êxito; caso contrário, FALSE se houver uma falha de mapeamento.

Comentários

Essa função trata VirtualAddressArray e PageArray como matrizes paralelas com o mesmo comprimento, conforme especificado por NumberOfPages. Cada endereço virtual em um elemento de VirtualAddressArray é mapeado ou desmapeado dependendo de PageArray:
  • Se um elemento de PageArray for definido como um PFN, o endereço virtual no elemento correspondente de VirtualAddressArray será mapeado para esse PFN.
  • Se um elemento de PageArray for definido como NULL, o endereço virtual no elemento correspondente de VirtualAddressArray será desmapeado.
  • Se PageArray for definido como NULL, todos os endereços virtuais em VirtualAddressArray serão desmapeados.
Para obter o melhor desempenho, endereços virtuais dentro da mesma janela de 2 MB (em tamanho e alinhamento) devem ser fornecidos consecutivamente e em ordem crescente. Isso permite que o sistema operacional examine oportunisticamente adiante e determine se pode adiar algumas operações que atuam na granularidade de página da CPU até o final do grupo. Para obter mais informações sobre como mapear páginas físicas para endereços virtuais, confira Trabalhando com o gerenciador de memória do Game OS do Microsoft GDK.

Requisitos

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

Confira também

XMemVirtualAlloc
XMem
Last modified on October 6, 2026