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

Asigna páginas físicas a la memoria virtual.

<a id="syntaxSection" />

## Sintaxis

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

<a id="parametersSection" />

### Parámetros

\**VirtualAddressArray*   \_In\_\
Tipo: PVOID

Matriz de direcciones virtuales en las que se deben asignar las páginas. Este parámetro no se puede establecer en `NULL`. Use [XMemVirtualAlloc](/reference/system/xmem/functions/xmemvirtualalloc) con `MEM_RESERVE` y `XMEM_MAPPABLE` para reservar un intervalo de direcciones de memoria que se pueda usar con **XMemMapPhysicalPagesScatter**. Las direcciones virtuales reservadas también deben crearse con páginas de 64 K mediante la opción `MEM_64K_PAGES` con [XMemVirtualAlloc](/reference/system/xmem/functions/xmemvirtualalloc).

*NumberOfPages*   \_In\_\
Tipo: ULONG\_PTR

Número de entradas de *PageArray* y *VirtualAddressArray*. Solo se admiten páginas de 64 K reservadas mediante [XMemVirtualAlloc](/reference/system/xmem/functions/xmemvirtualalloc) con la opción MEM\_64K\_PAGES.

*PageArray*   \_In\_reads\_opt\_(NumberOfPages)\
Tipo: PULONG\_PTR

Matriz de números de marco de página (PFN) que representan las páginas físicas que se van a asignar. Este parámetro se puede establecer en `NULL`. Si *PageArray* se establece en `NULL`, esta función realiza una operación de desasignación.  Si una entrada individual de la matriz se establece en `NULL`, se desasigna la dirección virtual correspondiente.

<a id="retvalSection" />

### Valor devuelto

Tipo: BOOL

Devuelve `TRUE` si la asignación se realizó correctamente; de lo contrario, `FALSE` si se produjo un error de asignación.

<a id="remarksSection" />

### Comentarios

Esta función trata `VirtualAddressArray` y `PageArray` como matrices paralelas de la misma longitud, según lo especificado por `NumberOfPages`. Cada dirección virtual de un elemento de matriz de `VirtualAddressArray` se asigna o desasigna en función de `PageArray`:

* Si un elemento de matriz de `PageArray` se establece en un PFN, la dirección virtual del elemento de matriz correspondiente de `VirtualAddressArray` se asigna a ese PFN.
* Si un elemento de matriz de `PageArray` se establece en `NULL`, se desasigna la dirección virtual del elemento de matriz correspondiente de `VirtualAddressArray`.
* Si `PageArray` se establece en `NULL`, se desasignan todas las direcciones virtuales de `VirtualAddressArray`.

Para obtener el mejor rendimiento, las direcciones virtuales dentro de la misma ventana de 2 MB (tanto en tamaño como en alineación) deben proporcionarse de forma consecutiva y en orden ascendente.  Esto permite que el sistema operativo realice búsquedas anticipadas de forma oportunista y determine si puede aplazar hasta el final del grupo algunas operaciones que funcionan con granularidades de página de CPU. Para obtener más información sobre la asignación de páginas físicas a direcciones virtuales, consulte [Trabajo con el administrador de memoria del sistema operativo de juegos del Microsoft GDK](/build/console-features/memory/system-memory-working).

<a id="requirementsSection" />

## Requisitos

**Encabezado:** xmem.h

**Biblioteca:** xmem.lib

**Plataformas compatibles:** consolas de la familia XBOX One y consolas XBOX Series

<a id="seealsoSection" />

## Consulte también

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


## Related topics

- [XMemMapPhysicalPages](/es/reference/system/xmem/functions/xmemmapphysicalpages.md)
- [Trabajo con el administrador de memoria del sistema operativo de juego del Microsoft GDK](/es/build/console-features/memory/system-memory-working.md)
- [XMemFreePhysicalPages](/es/reference/system/xmem/functions/xmemfreephysicalpages.md)
- [Map](/es/reference/graphics/d3d12/interfaces/id3d12resource/methods/id3d12resource_map_public.md)
- [ApuMapApuAddress](/es/reference/audio/apu/functions/apumapapuaddress.md)
