XMemMapPhysicalPages
Mappe les pages allouées par XMemAllocatePhysicalPages dans l’espace d’adressage virtuel.Syntaxe
Paramètres
VirtualAddress _In_Type : PVOID Adresse à laquelle les pages doivent être mappées. NumberOfPages _In_
Type : ULONG_PTR Nombre d’entrées dans PageArray. PageArray _In_reads_opt_(NumberOfPages)
Type : PULONG_PTR Tableau de numéros de cadre de page représentant les pages à mapper.
Valeur renvoyée
Type : PVOID Adresse virtuelle à laquelle les pages physiques ont été mappées, ou NULL en cas d’échec du mappage. En cas d’échec du mappage, appelez GetLastError pour obtenir des informations d’erreur étendues.Remarques
La plage d’adresses virtuelles doit avoir été réservée au préalable par un appel à XMemVirtualAlloc avec MEM_RESERVE, une taille de page MEM_64K_PAGES ou MEM_2MB_PAGES et l’indicateur XMEM_MAPPABLE. Les réservations d’adresses MEM_PHYSICAL effectuées par VirtualAlloc ne sont pas utilisables pour mapper cette mémoire. Si la plage d’adresses virtuelles comporte déjà des pages mappées, celles-ci sont démappées. En outre, NULL peut être spécifié pour PageArray afin d’annuler la validation de la région de mémoire. XMemMapPhysicalPages peut être utilisée pour mapper plusieurs fois les mêmes pages physiques dans l’espace d’adressage virtuel. Si des pages sont mappées plusieurs fois, les différents mappages doivent spécifier des attributs de mise en cache identiques (la cohérence CPU est implicite si aucun attribut de cache n’est fourni ; sinon, la liste est PAGE_NOCACHE ou PAGE_WRITECOMBINE).Lors du mappage de pages physiques dans une mémoire réservée avec MEM_2MB_PAGES, les pages physiques doivent avoir été allouées avec XMEM_2MB_CLUSTERS. Le paramètre PageArray ne doit contenir que la première page physique de chaque cluster de 2 Mo.
Configuration requise
En-tête : xmem.h Bibliothèque : xmem.lib Plateformes prises en charge : consoles de la famille XBOX One et consoles XBOX SeriesVoir aussi
Référence XMemXMemVirtualAlloc
VirtualFree
XMemFreePhysicalPages
