structure MEMORY_BASIC_INFORMATION (ntifs.h)

Contient des informations sur une plage de pages dans l’espace d’adressage virtuel d’un processus. La routine ZwQueryVirtualMemory utilise cette structure.

Syntaxe

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;

Membres

BaseAddress

Pointeur vers l’adresse de base de la région de pages.

AllocationBase

Pointeur vers l’adresse de base d’une plage de pages allouées. La page pointée par le membre BaseAddress se trouve dans cette plage d’allocation.

AllocationProtect

Option de protection de la mémoire lorsque la région a été initialement allouée. Ce membre peut être l’une des constantes suivantes définies dans wdm.h, ou 0 si l’appelant n’a pas accès.

Valeur Signification
PAGE_NOACCESS 0x01 Aucun accès à la région des pages n’est autorisé. Une tentative de lecture, d’écriture ou d’exécution dans la région entraîne une violation d’accès.
PAGE_EXECUTE 0x10 L’exécution de l’accès à la région des pages est autorisé. Une tentative de lecture ou d’écriture dans la région entraîne une violation d’accès.
PAGE_READONLY 0x02 L’accès en lecture seule et à l’exécution à la région des pages est autorisé. Une tentative d’écriture dans la région entraîne une violation d’accès.
PAGE_READWRITE 0x04 L’accès en lecture, écriture et exécution à la région des pages est autorisé. Si l’accès en écriture à la section sous-jacente est autorisé, une seule copie des pages est partagée. Sinon, les pages sont partagées en lecture seule/copie en écriture.
PAGE_GUARD 0x100 L’accès en lecture, en écriture et en exécution à la région des pages est autorisé ; toutefois, l’accès à la région entraîne la levée d’une condition « région de protection entrée » dans le processus d’objet.
PAGE_NOCACHE 0x200 Désactivez l’emplacement des pages validées dans le cache de données.
PAGE_WRITECOMBINE 0x400 Désactivez le placement des pages validées dans le cache de données, puis combinez également les écritures.

PartitionId

Réservé pour le système.

RegionSize

Taille de la région en octets commençant à l’adresse de base dans laquelle toutes les pages ont des attributs identiques.

State

État des pages dans la région. Ce membre peut être l’une des valeurs suivantes.

State Signification
MEM_COMMIT 0x1000 Indique les pages validées pour lesquelles le stockage physique a été alloué, soit en mémoire, soit dans le fichier de pagination sur le disque.
MEM_FREE 0x10000 Indique que les pages libres ne sont pas accessibles au processus d’appel et qu’elles peuvent être allouées.
MEM_RESERVE 0x2000 Indique les pages réservées où une plage de l’espace d’adressage virtuel du processus est réservée sans qu’aucun stockage physique soit alloué.

Protect

Protection de l’accès des pages dans la région. Ce membre est l’une des valeurs répertoriées pour le membre AllocationProtect .

Type

Type de pages dans la région. Les types suivants sont définis.

Type Signification
MEM_IMAGE 0x1000000 Indique que les pages mémoire de la région sont mappées dans la vue d’une section d’image.
MEM_MAPPED 0x40000 Indique que les pages de mémoire dans la région sont mappées dans l’affichage d’une section.
MEM_PRIVATE 0x20000 Indique que les pages de mémoire dans la région sont privées (autrement dit, pas partagées par d’autres processus).

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 10
En-tête ntifs.h

Voir aussi

ZwQueryVirtualMemory