structure WIN32_MEMORY_REGION_INFORMATION (memoryapi.h)
Contient des informations sur une région de mémoire. Une région de mémoire est une allocation unique créée à l’aide d’une fonction d’allocation de mémoire, telle que VirtualAlloc ou MapViewOfFile.
Syntaxe
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;
Membres
AllocationBase
Adresse de base de l’allocation.
AllocationProtect
Valeur de protection de page spécifiée lors de la création de l’allocation. Les protections des pages individuelles au sein de l’allocation peuvent être différentes de cette valeur. Pour interroger les valeurs de protection de pages individuelles, utilisez la fonction VirtualQuery .
DUMMYUNIONNAME
DUMMYUNIONNAME.Flags
Représente tous les indicateurs de région de mémoire sous la forme d’une seule valeur ULONG. Les applications ne doivent pas utiliser ce champ. Au lieu de cela, testez les indicateurs de champ de bits individuels définis ci-dessous.
DUMMYUNIONNAME.DUMMYSTRUCTNAME
DUMMYUNIONNAME.DUMMYSTRUCTNAME.Private
La valeur 1 indique que l’allocation est privée pour le processus.
DUMMYUNIONNAME.DUMMYSTRUCTNAME.MappedDataFile
La valeur 1 indique que l’allocation est une vue mappée d’un fichier de données.
DUMMYUNIONNAME.DUMMYSTRUCTNAME.MappedImage
La valeur 1 indique que l’allocation est une vue mappée d’une image exécutable.
DUMMYUNIONNAME.DUMMYSTRUCTNAME.MappedPageFile
La valeur 1 indique que l’allocation est une vue mappée d’une section sauvegardée par un fichier de page.
DUMMYUNIONNAME.DUMMYSTRUCTNAME.MappedPhysical
La valeur 1 indique que l’allocation est une vue de la section \Device\PhysicalMemory .
DUMMYUNIONNAME.DUMMYSTRUCTNAME.DirectMapped
La valeur 1 indique que l’allocation est une vue mappée d’un fichier mappé.
DUMMYUNIONNAME.DUMMYSTRUCTNAME.Reserved
Réservé.
RegionSize
La taille de l'allocation.
CommitSize
Frais de validation associés à l’allocation. Pour les allocations privées, il s’agit de la taille combinée des pages dans la région qui sont validées, par opposition à réservées. Pour les vues mappées, il s’agit de la taille combinée des pages qui bénéficient d’une protection contre la copie en écriture ou qui ont été rendues privées à la suite de la copie en écriture.
Notes
La structure WIN32_MEMORY_REGION_INFORMATION contient des informations sur une allocation de mémoire unique. En revanche, la structure MEMORY_BASIC_INFORMATION retournée par la fonction VirtualQuery décrit une série contiguë de pages au sein d’une allocation unique qui ont toutes le même type, état et protection. Le mappage entre les champs WIN32_MEMORY_REGION_INFORMATION et les valeurs de type mémoire retournés par VirtualQuery est le suivant :
WIN32_MEMORY_REGION_INFORMATION | MEMORY_BASIC_INFORMATION::Type |
---|---|
Privées | MEM_PRIVATE |
MapDataFile | MEM_MAPPED |
MapImage | MEM_IMAGE |
MapPageFile | MEM_MAPPED |
MapPhysical | MEM_MAPPED |
Spécifications
Client minimal pris en charge | Windows 10, version 1607 [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2016 (applications de bureau uniquement) |
En-tête | memoryapi.h (inclure Windows.h) |