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 cadres de page représentant les pages à mapper.
Valeur de retour
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é préalablement réservée 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 pourront pas être utilisées pour mapper cette mémoire. Si la plage d’adresses virtuelles contient déjà des pages mappées, elles seront démappées. De plus, 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 les mêmes pages physiques plusieurs fois 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 grappe 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
