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

# XMEM_BASIC_INFORMATION

> XMEM_BASIC_INFORMATION

# XMEM\_BASIC\_INFORMATION

Contém informações sobre um intervalo de páginas no espaço de endereço virtual de um processo.

<a id="syntaxSection" />

## Sintaxe

```cpp theme={null}
typedef struct XMEM_BASIC_INFORMATION {  
    PVOID BaseAddress;  
    PVOID AllocationBase;  
    DWORD AllocationProtect;  
    SIZE_T RegionSize;  
    DWORD State;  
    DWORD Protect;  
    DWORD Type;  
    ULONGLONG XMemFlags;  
    DWORD TagCode;  
    CHAR TagFourCC[4];  
} XMEM_BASIC_INFORMATION  
```

<a id="membersSection" />

### Membros

*BaseAddress*<br />Tipo: PVOID

Um ponteiro para o endereço base da região de páginas.

*AllocationBase*<br />Tipo: PVOID

Um ponteiro para o endereço base de um intervalo de páginas alocado pela função [XMemVirtualAlloc](/pt-BR/reference/system/xmem/functions/xmemvirtualalloc). A página apontada pelo membro *BaseAddress* está contida nesse intervalo de alocação.

*AllocationProtect*<br />Tipo: DWORD

A opção de proteção de memória quando a região foi alocada inicialmente. Esse membro pode ser uma das [constantes de proteção de memória](https://learn.microsoft.com/windows/desktop/Memory/memory-protection-constants) ou 0 se o chamador não tiver acesso.

*RegionSize*<br />Tipo: SIZE\_T

O tamanho da região, em bytes, começando no endereço base, na qual todas as páginas têm atributos idênticos.

*State*<br />Tipo: DWORD

O estado das páginas na região. Esse membro pode ser MEM\_COMMIT, MEM\_FREE ou MEM\_RESERVE, além do tamanho da página.

| Estado | Valor | Significado |
| :- | :- | :- |
| `MEM_COMMIT` | 0x1000 | Indica páginas confirmadas para as quais o armazenamento físico foi alocado, seja na memória ou no arquivo de paginação em disco. |
| `MEM_FREE` | 0x10000 | Indica páginas livres que não são acessíveis ao processo de chamada e estão disponíveis para serem alocadas. Para páginas livres, as informações nos membros *AllocationBase*, *AllocationProtect*, *Protect* e *Type* são indefinidas. |
| `MEM_RESERVE` | 0x2000 | Indica páginas reservadas em que um intervalo do espaço de endereço virtual do processo é reservado sem que nenhum armazenamento físico seja alocado. Para páginas reservadas, as informações no membro *Protect* são indefinidas. |
| `MEM_WRITE_WATCH` | 0x200000 | Indica que o intervalo participa do monitoramento de gravação. |
| `MEM_64K_PAGES` | 0x20400000 | Indica que o intervalo usa tamanhos de página de 64KB. |
| `MEM_2MB_PAGES` | 0x20000000 | Indica que o intervalo usa tamanhos de página de 2MB. |

*Protect*<br />Tipo: DWORD

A proteção de acesso das páginas na região. Esse membro é um dos valores listados para o membro *AllocationProtect*.

*Type*<br />Tipo: DWORD

O tipo de páginas na região. Os tipos a seguir são definidos.

| Tipo | Valor | Significado |
| :- | :- | :- |
| `MEM_IMAGE` | 0x1000000 | Indica que as páginas de memória na região estão mapeadas na exibição de uma seção de imagem. |
| `MEM_MAPPED` | 0x40000 | Indica que as páginas de memória na região estão mapeadas na exibição de uma seção. |
| `MEM_PRIVATE` | 0x20000 | Indica que as páginas de memória na região são privadas (ou seja, não são compartilhadas por outros processos). |

*XMemFlags*<br />Tipo: ULONGLONG

O valor de *XMemFlags* é definido como o valor fornecido para [XMemVirtualAlloc](/pt-BR/reference/system/xmem/functions/xmemvirtualalloc) quando a memória foi alocada. Se a memória for alocada com [VirtualAlloc](https://learn.microsoft.com/windows/desktop/api/memoryapi/nf-memoryapi-virtualalloc), o valor `XMEM_CPU` será especificado. Para obter mais informações, consulte [Comentários](#remarksSection).

*TagCode*<br />Tipo: DWORD

Uma representação codificada de 24 bits do membro *TagFourCC*.

*TagFourCC*<br />Tipo: CHAR\[4]

Um código opcional de quatro caracteres associado a uma região de memória confirmada alocada com [XMemVirtualAlloc](/pt-BR/reference/system/xmem/functions/xmemvirtualalloc).

<a id="remarksSection" />

## Comentários

Essa estrutura é usada por [XMemVirtualQuery](/pt-BR/reference/system/xmem/functions/xmemvirtualquery) para recuperar informações sobre um intervalo de páginas no espaço de endereço virtual do processo de chamada. Para obter mais informações sobre alocação de memória, consulte [Trabalhando com o gerenciador de memória do Game OS do Microsoft GDK](/pt-BR/build/console-features/memory/system-memory-working).

A memória pertencente ao título sempre terá um valor para *XMemFlags*. No mínimo, *XMemFlags* é definido como `XMEM_CPU` para a memória pertencente ao título. Se *XMemFlags* for definido como 0, a memória pertencerá ao sistema e não será contabilizada no limite do jogo.

O monitoramento de gravação (indicado pelo sinalizador `MEM_WRITE_WATCH`) é habilitado automaticamente para todas as alocações `XMEM_GRAPHICS` quando capturas de GPU do PIX são possíveis.  O PIX utiliza o monitoramento de gravação para capturar com precisão as alterações de memória nas capturas de GPU.  Ele também é aplicado se `MEM_WRITE_WATCH` for especificado em chamadas para [XMemVirtualAlloc](/pt-BR/reference/system/xmem/functions/xmemvirtualalloc) ou [VirtualAlloc](https://learn.microsoft.com/windows/desktop/api/memoryapi/nf-memoryapi-virtualalloc).

<a id="requirementsSection" />

## Requisitos

**Cabeçalho:** xmem.h

**Plataformas compatíveis:** consoles da família XBOX One e consoles XBOX Series

<a id="seealsoSection" />

## Confira também

[XMemVirtualAlloc](/pt-BR/reference/system/xmem/functions/xmemvirtualalloc)<br />[XMem](/pt-BR/reference/system/xmem/xmem_members)


## Related topics

- [XMemVirtualQuery](/reference/system/xmem/functions/xmemvirtualquery.md)
- [XMemMakeTag](/reference/system/xmem/functions/xmemmaketag.md)
