XMemMapPhysicalPages
Mapeia páginas alocadas por XMemAllocatePhysicalPages no espaço de endereço virtual.Sintaxe
Parâmetros
VirtualAddress _In_Tipo: PVOID Endereço no qual as páginas devem ser mapeadas. NumberOfPages _In_
Tipo: ULONG_PTR Número de entradas em PageArray. PageArray _In_reads_opt_(NumberOfPages)
Tipo: PULONG_PTR Matriz de números de quadros de página que representam as páginas a serem mapeadas.
Valor retornado
Tipo: PVOID Endereço virtual no qual as páginas físicas foram mapeadas ou NULL se houver uma falha de mapeamento. No caso de uma falha de mapeamento, chame GetLastError para obter informações de erro estendidas.Comentários
O intervalo de endereços virtuais deve ser reservado anteriormente por uma chamada para XMemVirtualAlloc com MEM_RESERVE, um tamanho de página de MEM_64K_PAGES ou MEM_2MB_PAGES e o sinalizador XMEM_MAPPABLE. Reservas de endereço MEM_PHYSICAL feitas por VirtualAlloc não poderão ser usadas para mapear essa memória. Se o intervalo de endereços virtuais já tiver páginas mapeadas, elas serão desmapeadas. Além disso, NULL pode ser especificado para PageArray para descomprometer a região de memória. XMemMapPhysicalPages pode ser usado para mapear as mesmas páginas físicas várias vezes no espaço de endereço virtual. Se as páginas forem mapeadas várias vezes, os vários mapeamentos deverão especificar atributos de cache idênticos (coerente com a CPU é implícito se nenhum atributo de cache for fornecido; caso contrário, a lista é PAGE_NOCACHE ou PAGE_WRITECOMBINE).Ao mapear páginas físicas na memória reservada com MEM_2MB_PAGES, as páginas físicas devem ter sido alocadas com XMEM_2MB_CLUSTERS. O parâmetro PageArray deve conter apenas a primeira página física de cada cluster de 2 MB.
Requisitos
Cabeçalho: xmem.h Biblioteca: xmem.lib Plataformas com suporte: consoles da família XBOX One e consoles XBOX SeriesConfira também
Referência de XMemXMemVirtualAlloc
VirtualFree
XMemFreePhysicalPages
