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

# MapRunLengthArray (famille XBOX One)

> Mappe des pages à l'aide d'un tableau de jetons encodé par plages (run-length).

# Méthode XGMemoryLayout::MapRunLengthArray (famille XBOX One)

Mappe des pages à l'aide d'un tableau de jetons encodé par plages (run-length).

<a id="syntaxSection" />

## Syntaxe

```cpp theme={null}
HRESULT MapRunLengthArray(
         XGMemoryLayoutMapping *pMapping,
         const USHORT *pTokens,
         UINT32 TokenCount,
         UINT32 PageCount,
         UINT32 MaxEsramPageCount
)  
```

<a id="ID4EG" />

### Paramètres

*pMapping*   \_Inout\_\
Type : XGMemoryLayoutMapping \*

Le résultat du mappage mis à jour, sous la forme d'un pointeur vers une structure [XGMemoryLayoutMapping](/fr-CA/reference/graphics/xgmemory_NR/structs/xgmemorylayoutmapping).

*pTokens*   \_In\_reads\_(TokenCount)\
Type : USHORT\*

Le tableau de jetons encodé par plages.

*TokenCount*   \
Type : UINT32

Le nombre de jetons du tableau de jetons encodé par plages. Chaque jeton représente un bloc de pages ESRAM ou de pages système.

*PageCount*   \
Type : UINT32

Le nombre total de pages du tableau de jetons encodé par plages, y compris les pages système et les pages ESRAM. Ce nombre ajuste la longueur du tableau de plages décodé et/ou l'utilisation de l'ESRAM. Si le tableau de plages décodé n'est pas assez grand pour couvrir l'ensemble du mappage, des pages système sont utilisées pour compléter jusqu'à la fin du mappage.

Si *PageCount* est XG\_ALL\_REMAINING\_PAGES, [XGMemoryLayout::GetPageCountRemaining](/fr-CA/reference/graphics/xgmemory_NR/interfaces/XGMemoryLayout/methods/xgmemorylayout_getpagecountremaining) est utilisé à la place.

*MaxEsramPageCount*\
Type : UINT32

Le nombre maximal de pages ESRAM du tableau de jetons encodé par plages. Ce nombre ajuste la longueur du tableau de plages décodé et/ou l'utilisation de l'ESRAM. Si le tableau de plages décodé n'est pas assez grand pour couvrir l'ensemble du mappage, des pages système sont utilisées pour compléter jusqu'à la fin du mappage.

Si *MaxEsramPageCount* est XG\_ALL\_REMAINING\_PAGES, [XGMemoryLayout::GetFreeEsramPageCount](/fr-CA/reference/graphics/xgmemory_NR/interfaces/XGMemoryLayout/methods/xgmemorylayout_getfreeesrampagecount) est utilisé à la place.

<a id="ID4EP" />

### Valeur de retour

Type : HRESULT

S\_OK, E\_INVALIDARG ou E\_OUTOFMEMORY.

<a id="remarks" />

## Remarques

Cette méthode mappe des pages à l'aide d'un tableau de jetons encodé par plages (run-length). Chaque jeton représente un bloc de pages ESRAM ou de pages système; pour plus de détails, consultez les macros #define **EsramToken** et **SystemToken** dans xgmemory.h.

Le mappage est créé avec un nombre de pages et un nombre maximal de pages ESRAM spécifiques. Ces nombres ajustent la longueur du tableau de plages décodé et/ou l'utilisation de l'ESRAM. Si le tableau de plages décodé n'est pas assez grand pour couvrir l'ensemble du mappage, des pages système sont utilisées pour compléter jusqu'à la fin du mappage.

<a id="requirements" />

## Configuration requise

**En-tête :** xgmemory.h

<a id="ID4EED" />

**Plateformes prises en charge :** famille XBOX One

## Voir aussi

[XGMemoryLayout](/fr-CA/reference/graphics/xgmemory_NR/interfaces/XGMemoryLayout/xgmemorylayout)


## Related topics

- [Répertoire des rubriques NDA : liens actifs vers Microsoft Learn](/fr-CA/nda/nda-topic-directory.md)
- [Map](/fr-CA/reference/graphics/d3d12/interfaces/id3d12resource/methods/id3d12resource_map_public.md)
- [XMemMapPhysicalPages](/fr-CA/reference/system/xmem/functions/xmemmapphysicalpages.md)
- [ApuMapVirtualAddress](/fr-CA/reference/audio/apu/functions/apumapvirtualaddress.md)
- [ApuMapApuAddress](/fr-CA/reference/audio/apu/functions/apumapapuaddress.md)
