estrutura MEMORY_BASIC_INFORMATION (ntifs.h)

Contém informações sobre um intervalo de páginas no espaço de endereço virtual de um processo. A rotina ZwQueryVirtualMemory usa essa estrutura.

Sintaxe

typedef struct _MEMORY_BASIC_INFORMATION {
  PVOID  BaseAddress;
  PVOID  AllocationBase;
  ULONG  AllocationProtect;
  USHORT PartitionId;
  SIZE_T RegionSize;
  ULONG  State;
  ULONG  Protect;
  ULONG  Type;
} MEMORY_BASIC_INFORMATION, *PMEMORY_BASIC_INFORMATION;

Membros

BaseAddress

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

AllocationBase

Um ponteiro para o endereço base de um intervalo de páginas alocadas. A página apontada pelo membro BaseAddress está contida nesse intervalo de alocação.

AllocationProtect

A opção de proteção de memória quando a região foi alocada inicialmente. Esse membro pode ser uma das seguintes constantes definidas em wdm.h ou 0 se o chamador não tiver acesso.

Valor Significado
PAGE_NOACCESS 0x01 Nenhum acesso à região das páginas é permitido. Uma tentativa de ler, gravar ou executar dentro da região resulta em uma violação de acesso.
PAGE_EXECUTE 0x10 É permitido executar o acesso à região das páginas. Uma tentativa de ler ou gravar dentro da região resulta em uma violação de acesso.
PAGE_READONLY 0x02 O acesso somente leitura e execução à região das páginas é permitido. Uma tentativa de gravar dentro da região resulta em uma violação de acesso.
PAGE_READWRITE 0x04 Acesso de leitura, gravação e execução à região das páginas é permitido. Se o acesso de gravação à seção subjacente for permitido, uma única cópia das páginas será compartilhada. Caso contrário, as páginas serão compartilhadas somente leitura/cópia na gravação.
PAGE_GUARD 0x100 Acesso de leitura, gravação e execução à região das páginas é permitido; no entanto, o acesso à região faz com que uma condição de "região de proteção inserida" seja gerada no processo de assunto.
PAGE_NOCACHE 0x200 Desabilite o posicionamento de páginas confirmadas no cache de dados.
PAGE_WRITECOMBINE 0x400 Desabilite o posicionamento de páginas confirmadas no cache de dados, combine as gravações também.

PartitionId

Reservado para uso do sistema.

RegionSize

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

State

O estado das páginas na região. Esse membro pode ser um dos valores a seguir.

Estado Significado
MEM_COMMIT 0x1000 Indica páginas confirmadas para as quais o armazenamento físico foi alocado, na memória ou no arquivo de paginação no disco.
MEM_FREE 0x10000 Indica páginas gratuitas não acessíveis para o processo de chamada e disponíveis para serem alocadas.
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.

Protect

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

Type

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

Type Significado
MEM_IMAGE 0x1000000 Indica que as páginas de memória dentro da região são mapeadas para a exibição de uma seção de imagem.
MEM_MAPPED 0x40000 Indica que as páginas de memória dentro da região são mapeadas para a exibição de uma seção.
MEM_PRIVATE 0x20000 Indica que as páginas de memória dentro da região são privadas (ou seja, não compartilhadas por outros processos).

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 10
Cabeçalho ntifs.h

Confira também

ZwQueryVirtualMemory