> ## 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 (família XBOX One)

> Mapeia páginas usando uma matriz run-length de tokens.

# Método XGMemoryLayout::MapRunLengthArray (família XBOX One)

Mapeia páginas usando uma matriz run-length de tokens.

<a id="syntaxSection" />

## Sintaxe

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

<a id="ID4EG" />

### Parâmetros

*pMapping*   \_Inout\_\
Tipo: XGMemoryLayoutMapping \*

O resultado do mapeamento atualizado como um ponteiro para uma estrutura [XGMemoryLayoutMapping](/pt-BR/reference/graphics/xgmemory_NR/structs/xgmemorylayoutmapping).

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

A matriz run-length de tokens.

*TokenCount*   \
Tipo: UINT32

O número de tokens na matriz run-length de tokens. Cada token representa um bloco de páginas ESRAM ou do sistema.

*PageCount*   \
Tipo: UINT32

O número total de páginas na matriz run-length de tokens, incluindo páginas do sistema e páginas ESRAM. Essa contagem ajustará a matriz run-length decodificada em comprimento e/ou uso de ESRAM. Se a matriz run-length decodificada não for grande o suficiente para abranger todo o mapeamento, páginas do sistema serão usadas para preencher até o final do mapeamento.

Se *PageCount* for XG\_ALL\_REMAINING\_PAGES, então [XGMemoryLayout::GetPageCountRemaining](/pt-BR/reference/graphics/xgmemory_NR/interfaces/XGMemoryLayout/methods/xgmemorylayout_getpagecountremaining) é usado no lugar.

*MaxEsramPageCount*\
Tipo: UINT32

O número máximo de páginas ESRAM na matriz run-length de tokens. Essa contagem ajustará a matriz run-length decodificada em comprimento e/ou uso de ESRAM. Se a matriz run-length decodificada não for grande o suficiente para abranger todo o mapeamento, páginas do sistema serão usadas para preencher até o final do mapeamento.

Se *MaxEsramPageCount* for XG\_ALL\_REMAINING\_PAGES, então [XGMemoryLayout::GetFreeEsramPageCount](/pt-BR/reference/graphics/xgmemory_NR/interfaces/XGMemoryLayout/methods/xgmemorylayout_getfreeesrampagecount) é usado no lugar.

<a id="ID4EP" />

### Valor retornado

Tipo: HRESULT

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

<a id="remarks" />

## Comentários

Este método mapeia páginas usando uma matriz run-length de tokens. Cada token representa um bloco de páginas ESRAM ou do sistema; para obter detalhes, consulte as macros #define **EsramToken** e **SystemToken** em xgmemory.h.

O mapeamento é criado com uma contagem de páginas específica e uma contagem máxima de páginas ESRAM. Essas contagens ajustarão a matriz run-length decodificada em comprimento e/ou uso de ESRAM. Se a matriz run-length decodificada não for grande o suficiente para abranger todo o mapeamento, páginas do sistema serão usadas para preencher até o final do mapeamento.

<a id="requirements" />

## Requisitos

**Cabeçalho:** xgmemory.h

<a id="ID4EED" />

**Plataformas compatíveis:** família XBOX One

## Confira também

[XGMemoryLayout](/pt-BR/reference/graphics/xgmemory_NR/interfaces/XGMemoryLayout/xgmemorylayout)


## Related topics

- [Diretório de tópicos NDA: links ativos do Microsoft Learn](/pt-BR/nda/nda-topic-directory.md)
- [Map](/pt-BR/reference/graphics/d3d12/interfaces/id3d12resource/methods/id3d12resource_map_public.md)
- [ApuMapApuAddress](/pt-BR/reference/audio/apu/functions/apumapapuaddress.md)
- [ApuMapVirtualAddress](/pt-BR/reference/audio/apu/functions/apumapvirtualaddress.md)
- [XMemMapPhysicalPages](/pt-BR/reference/system/xmem/functions/xmemmapphysicalpages.md)
