estrutura WIN32_MEMORY_REGION_INFORMATION (memoryapi.h)
Contém informações sobre uma região de memória. Uma região de memória é uma única alocação criada usando uma função de alocação de memória, como VirtualAlloc ou MapViewOfFile.
Sintaxe
typedef struct WIN32_MEMORY_REGION_INFORMATION {
PVOID AllocationBase;
ULONG AllocationProtect;
union {
ULONG Flags;
struct {
ULONG Private : 1;
ULONG MappedDataFile : 1;
ULONG MappedImage : 1;
ULONG MappedPageFile : 1;
ULONG MappedPhysical : 1;
ULONG DirectMapped : 1;
ULONG Reserved : 26;
} DUMMYSTRUCTNAME;
} DUMMYUNIONNAME;
SIZE_T RegionSize;
SIZE_T CommitSize;
} WIN32_MEMORY_REGION_INFORMATION;
Membros
AllocationBase
O endereço base da alocação.
AllocationProtect
O valor de proteção de página especificado quando a alocação foi criada. As proteções de páginas individuais dentro da alocação podem ser diferentes desse valor. Para consultar valores de proteção de páginas individuais, use a função VirtualQuery .
DUMMYUNIONNAME
DUMMYUNIONNAME.Flags
Representa todos os sinalizadores de região de memória como um único valor ULONG. Os aplicativos não devem usar esse campo. Em vez disso, teste os sinalizadores de campo de bits individuais definidos abaixo.
DUMMYUNIONNAME.DUMMYSTRUCTNAME
DUMMYUNIONNAME.DUMMYSTRUCTNAME.Private
Um valor de 1 indica que a alocação é privada para o processo.
DUMMYUNIONNAME.DUMMYSTRUCTNAME.MappedDataFile
Um valor 1 indica que a alocação é uma exibição mapeada de um arquivo de dados.
DUMMYUNIONNAME.DUMMYSTRUCTNAME.MappedImage
Um valor de 1 indica que a alocação é uma exibição mapeada de uma imagem executável.
DUMMYUNIONNAME.DUMMYSTRUCTNAME.MappedPageFile
Um valor de 1 indica que a alocação é uma exibição mapeada de uma seção com backup de pagefile.
DUMMYUNIONNAME.DUMMYSTRUCTNAME.MappedPhysical
Um valor de 1 indica que a alocação é uma exibição da seção \Device\PhysicalMemory .
DUMMYUNIONNAME.DUMMYSTRUCTNAME.DirectMapped
Um valor de 1 indica que a alocação é uma exibição mapeada de um arquivo mapeado direto.
DUMMYUNIONNAME.DUMMYSTRUCTNAME.Reserved
Reservado.
RegionSize
O tamanho da alocação.
CommitSize
A cobrança de commit associada à alocação. Para alocações privadas, esse é o tamanho combinado de páginas na região que são confirmadas, em vez de reservadas. Para exibições mapeadas, esse é o tamanho combinado de páginas que têm proteção de cópia na gravação ou se tornaram privadas como resultado da cópia na gravação.
Comentários
A estrutura WIN32_MEMORY_REGION_INFORMATION contém informações sobre uma única alocação de memória. Por outro lado, a estrutura MEMORY_BASIC_INFORMATION retornada pela função VirtualQuery descreve uma execução contígua de páginas em uma única alocação que todos têm o mesmo tipo, estado e proteção. O mapeamento entre campos de WIN32_MEMORY_REGION_INFORMATION e valores de tipo de memória retornados pelo VirtualQuery é o seguinte:
WIN32_MEMORY_REGION_INFORMATION | MEMORY_BASIC_INFORMATION::Type |
---|---|
Privado | MEM_PRIVATE |
MappedDataFile | MEM_MAPPED |
MappedImage | MEM_IMAGE |
MappedPageFile | MEM_MAPPED |
MappedPhysical | MEM_MAPPED |
Requisitos
Cliente mínimo com suporte | Windows 10, versão 1607 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2016 [somente aplicativos da área de trabalho] |
Cabeçalho | memoryapi.h (inclua Windows.h) |