Skip to main content

XMemMapPhysicalPagesScatter

Mappe des pages physiques dans la mémoire virtuelle.

Syntaxe

Paramètres

*VirtualAddressArray   _In_
Type : PVOID
Tableau des adresses virtuelles auxquelles les pages doivent être mappées. Ce paramètre ne peut pas être défini sur NULL. Utilisez XMemVirtualAlloc avec MEM_RESERVE et XMEM_MAPPABLE pour réserver une plage d’adresses mémoire à utiliser avec XMemMapPhysicalPagesScatter. Les adresses virtuelles réservées doivent également être créées avec des pages de 64 Ko via l’option MEM_64K_PAGES de XMemVirtualAlloc. NumberOfPages   _In_
Type : ULONG_PTR
Nombre d’entrées dans PageArray et VirtualAddressArray. Seules les pages de 64 Ko réservées via XMemVirtualAlloc à l’aide de l’option MEM_64K_PAGES sont prises en charge. PageArray   _In_reads_opt_(NumberOfPages)
Type : PULONG_PTR
Tableau de numéros de cadre de page (PFN) représentant les pages physiques à mapper. Ce paramètre peut être défini sur NULL. Si PageArray est défini sur NULL, cette fonction effectue une opération de démappage. Si une entrée individuelle du tableau est définie sur NULL, l’adresse virtuelle correspondante est démappée.

Valeur renvoyée

Type : BOOL Renvoie TRUE si le mappage a réussi ; sinon, FALSE en cas d’échec du mappage.

Remarques

Cette fonction traite VirtualAddressArray et PageArray comme des tableaux parallèles de même longueur, spécifiée par NumberOfPages. Chaque adresse virtuelle d’un élément de VirtualAddressArray est mappée ou démappée en fonction de PageArray :
  • Si un élément de PageArray est défini sur un PFN, l’adresse virtuelle de l’élément correspondant de VirtualAddressArray est mappée sur ce PFN.
  • Si un élément de PageArray est défini sur NULL, l’adresse virtuelle de l’élément correspondant de VirtualAddressArray est démappée.
  • Si PageArray est défini sur NULL, toutes les adresses virtuelles de VirtualAddressArray sont démappées.
Pour des performances optimales, les adresses virtuelles situées dans la même fenêtre de 2 Mo (en taille et en alignement) doivent être fournies de manière consécutive et dans l’ordre croissant. Cela permet au système d’exploitation d’anticiper de manière opportuniste et de déterminer s’il peut différer jusqu’à la fin du groupe certaines opérations qui s’effectuent à la granularité des pages CPU. Pour plus d’informations sur le mappage de pages physiques vers des adresses virtuelles, consultez Utilisation du gestionnaire de mémoire de Game OS du Microsoft GDK.

Configuration requise

En-tête : xmem.h Bibliothèque : xmem.lib Plateformes prises en charge : consoles de la famille XBOX One et consoles XBOX Series

Voir aussi

XMemVirtualAlloc
XMem
Last modified on October 6, 2026