WIN32_MEMORY_REGION_INFORMATION struttura (memoryapi.h)
Contiene informazioni su un'area di memoria. Un'area di memoria è una singola allocazione creata usando una funzione di allocazione della memoria, ad esempio VirtualAlloc o MapViewOfFile.
Sintassi
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;
Members
AllocationBase
Indirizzo di base dell'allocazione.
AllocationProtect
Valore di protezione della pagina specificato al momento della creazione dell'allocazione. Le protezioni delle singole pagine all'interno dell'allocazione possono essere diverse da questo valore. Per eseguire query sui valori di protezione delle singole pagine, usare la funzione VirtualQuery .
DUMMYUNIONNAME
DUMMYUNIONNAME.Flags
Rappresenta tutti i flag di area di memoria come singolo valore ULONG. Le applicazioni non devono usare questo campo. Testare invece i singoli flag di campo di bit definiti di seguito.
DUMMYUNIONNAME.DUMMYSTRUCTNAME
DUMMYUNIONNAME.DUMMYSTRUCTNAME.Private
Un valore pari a 1 indica che l'allocazione è privata al processo.
DUMMYUNIONNAME.DUMMYSTRUCTNAME.MappedDataFile
Un valore 1 indica che l'allocazione è una visualizzazione mappata di un file di dati.
DUMMYUNIONNAME.DUMMYSTRUCTNAME.MappedImage
Il valore 1 indica che l'allocazione è una visualizzazione mappata di un'immagine eseguibile.
DUMMYUNIONNAME.DUMMYSTRUCTNAME.MappedPageFile
Un valore 1 indica che l'allocazione è una visualizzazione mappata di una sezione supportata da pagefile.
DUMMYUNIONNAME.DUMMYSTRUCTNAME.MappedPhysical
Un valore pari a 1 indica che l'allocazione è una visualizzazione della sezione \Device\PhysicalMemory .
DUMMYUNIONNAME.DUMMYSTRUCTNAME.DirectMapped
Un valore 1 indica che l'allocazione è una visualizzazione mappata di un file mappato diretto.
DUMMYUNIONNAME.DUMMYSTRUCTNAME.Reserved
Riservato.
RegionSize
Dimensione dell'allocazione.
CommitSize
Addebito di commit associato all'allocazione. Per le allocazioni private, questa è la dimensione combinata delle pagine nell'area con commit, anziché riservata. Per le visualizzazioni mappate, questa è la dimensione combinata di pagine che dispongono di protezione da copia in scrittura o sono state rese private come risultato della copia in scrittura.
Commenti
La struttura WIN32_MEMORY_REGION_INFORMATION contiene informazioni su una singola allocazione di memoria. Al contrario, la struttura MEMORY_BASIC_INFORMATION restituita dalla funzione VirtualQuery descrive un'esecuzione contigua di pagine all'interno di una singola allocazione con lo stesso tipo, stato e protezione. Il mapping tra i campi WIN32_MEMORY_REGION_INFORMATION e i valori dei tipi di memoria restituiti da VirtualQuery è il seguente:
WIN32_MEMORY_REGION_INFORMATION | MEMORY_BASIC_INFORMATION::Type |
---|---|
Privato | MEM_PRIVATE |
MappedDataFile | MEM_MAPPED |
MappedImage | MEM_IMAGE |
MappedPageFile | MEM_MAPPED |
MappadPhysical | MEM_MAPPED |
Requisiti
Client minimo supportato | Windows 10 versione 1607 [solo app desktop] |
Server minimo supportato | Windows Server 2016 [solo app desktop] |
Intestazione | memoryapi.h (include Windows.h) |