Share via


estructura MEMORY_BASIC_INFORMATION (winnt.h)

Contiene información sobre un intervalo de páginas en el espacio de direcciones virtuales de un proceso. Las funciones VirtualQuery y VirtualQueryEx usan esta estructura.

Sintaxis

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

Miembros

BaseAddress

Puntero a la dirección base de la región de las páginas.

AllocationBase

Puntero a la dirección base de un intervalo de páginas asignadas por la función VirtualAlloc . La página a la que apunta el miembro BaseAddress se encuentra dentro de este intervalo de asignación.

AllocationProtect

Opción de protección de memoria cuando se asignó inicialmente la región. Este miembro puede ser una de las constantes de protección de memoria o 0 si el autor de la llamada no tiene acceso.

PartitionId

RegionSize

Tamaño de la región que comienza en la dirección base en la que todas las páginas tienen atributos idénticos, en bytes.

State

Estado de las páginas de la región. Este miembro puede ser uno de los siguientes valores.

State Significado
MEM_COMMIT
0x1000
Indica las páginas confirmadas para las que se ha asignado el almacenamiento físico, ya sea en memoria o en el archivo de paginación en el disco.
MEM_FREE
0x10000
Indica que las páginas gratuitas no son accesibles para el proceso de llamada y están disponibles para asignarse. Para las páginas gratuitas, la información de los miembros AllocationBase, AllocationProtect, Protect y Type no está definida.
MEM_RESERVE
0x2000
Indica páginas reservadas en las que se reserva un intervalo del espacio de direcciones virtuales del proceso sin que se asigne ningún almacenamiento físico. En el caso de las páginas reservadas, la información del miembro Protect no está definida.

Protect

Protección de acceso de las páginas de la región. Este miembro es uno de los valores enumerados para el miembro AllocationProtect .

Type

Tipo de páginas de la región. Se definen los siguientes tipos.

Tipo Significado
MEM_IMAGE
0x1000000
Indica que las páginas de memoria de la región se asignan a la vista de una sección de imagen.
MEM_MAPPED
0x40000
Indica que las páginas de memoria de la región se asignan a la vista de una sección.
MEM_PRIVATE
0x20000
Indica que las páginas de memoria de la región son privadas (es decir, no compartidas por otros procesos).

Comentarios

Para habilitar un depurador para depurar un destino que se ejecuta en una arquitectura diferente (32 bits frente a 64 bits), use una de las formas explícitas de esta estructura.

typedef struct _MEMORY_BASIC_INFORMATION32 {
    DWORD BaseAddress;
    DWORD AllocationBase;
    DWORD AllocationProtect;
    DWORD RegionSize;
    DWORD State;
    DWORD Protect;
    DWORD Type;
} MEMORY_BASIC_INFORMATION32, *PMEMORY_BASIC_INFORMATION32;

typedef struct DECLSPEC_ALIGN(16) _MEMORY_BASIC_INFORMATION64 {
    ULONGLONG BaseAddress;
    ULONGLONG AllocationBase;
    DWORD     AllocationProtect;
    DWORD     __alignment1;
    ULONGLONG RegionSize;
    DWORD     State;
    DWORD     Protect;
    DWORD     Type;
    DWORD     __alignment2;
} MEMORY_BASIC_INFORMATION64, *PMEMORY_BASIC_INFORMATION64;

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Encabezado winnt.h (incluya Windows.h)

Consulte también

VirtualAlloc

VirtualQuery

VirtualQueryEx