> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# XMemMapPhysicalPagesScatter

> XMemMapPhysicalPagesScatter

# XMemMapPhysicalPagesScatter

Mappe des pages physiques dans la mémoire virtuelle.

<a id="syntaxSection" />

## Syntaxe

```cpp theme={null}
BOOL XMemMapPhysicalPagesScatter(  
         PVOID *VirtualAddressArray,  
         ULONG_PTR NumberOfPages,  
         PULONG_PTR PageArray  
)  
```

<a id="parametersSection" />

### 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](/fr-CA/reference/system/xmem/functions/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](/fr-CA/reference/system/xmem/functions/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](/fr-CA/reference/system/xmem/functions/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.

<a id="retvalSection" />

### Valeur de retour

Type : BOOL

Retourne `TRUE` si le mappage a réussi; sinon, `FALSE` en cas d'échec du mappage.

<a id="remarksSection" />

### 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](/fr-CA/build/console-features/memory/system-memory-working).

<a id="requirementsSection" />

## 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

<a id="seealsoSection" />

## Voir aussi

[XMemVirtualAlloc](/fr-CA/reference/system/xmem/functions/xmemvirtualalloc)\
[XMem](/fr-CA/reference/system/xmem/xmem_members)


## Related topics

- [XMemMapPhysicalPagesScatter](/reference/system/xmem/functions/xmemmapphysicalpagesscatter.md)
- [XMemMapPhysicalPages](/reference/system/xmem/functions/xmemmapphysicalpages.md)
