Skip to main content

XMemMapPhysicalPagesScatter

Mappe des pages physiques dans la mémoire virtuelle.

Syntaxe

Paramètres

*VirtualAddressArray   _In_
Type : PVOID
Le tableau d’adresses virtuelles auxquelles les pages doivent être mappées. Ce paramètre ne peut pas être défini à 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 au moyen de l’option MEM_64K_PAGES avec XMemVirtualAlloc. NumberOfPages   _In_
Type : ULONG_PTR
Le nombre d’entrées dans PageArray et VirtualAddressArray. Seules les pages de 64 Ko réservées au moyen de XMemVirtualAlloc avec l’option MEM_64K_PAGES sont prises en charge. PageArray   _In_reads_opt_(NumberOfPages)
Type : PULONG_PTR
Le tableau de numéros de cadres de page (PFN) représentant les pages physiques à mapper. Ce paramètre peut être défini à NULL. Si PageArray est défini à NULL, cette fonction effectue une opération de démappage. Si une entrée individuelle du tableau est définie à NULL, l’adresse virtuelle correspondante est démappée.

Valeur de retour

Type : BOOL Retourne 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, comme spécifié par NumberOfPages. Chaque adresse virtuelle d’un élément du tableau VirtualAddressArray est mappée ou démappée selon PageArray :
  • Si un élément du tableau PageArray est défini à un PFN, l’adresse virtuelle de l’élément correspondant du tableau VirtualAddressArray est mappée à ce PFN.
  • Si un élément du tableau PageArray est défini à NULL, l’adresse virtuelle de l’élément correspondant du tableau VirtualAddressArray est démappée.
  • Si PageArray est défini à NULL, chaque adresse virtuelle de VirtualAddressArray est démappée.
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 consécutivement 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 reporter jusqu’à la fin du groupe certaines opérations qui s’effectuent à la granularité des pages du CPU. Pour plus d’informations sur le mappage de pages physiques à des adresses virtuelles, consultez Utilisation du gestionnaire de mémoire du système d’exploitation de jeu 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