struttura MEMORY_BASIC_INFORMATION (ntifs.h)

Contiene informazioni su un intervallo di pagine nello spazio indirizzi virtuale di un processo. La routine ZwQueryVirtualMemory usa questa struttura.

Sintassi

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;

Members

BaseAddress

Puntatore all'indirizzo di base dell'area delle pagine.

AllocationBase

Puntatore all'indirizzo di base di un intervallo di pagine allocate. La pagina a cui punta il membro BaseAddress è contenuta all'interno di questo intervallo di allocazione.

AllocationProtect

Opzione di protezione della memoria al momento dell'allocazione iniziale dell'area. Questo membro può essere una delle costanti seguenti definite in wdm.h o 0 se il chiamante non ha accesso.

Valore Significato
PAGE_NOACCESS 0x01 Non è consentito l'accesso all'area delle pagine. Un tentativo di lettura, scrittura o esecuzione all'interno dell'area comporta una violazione di accesso.
PAGE_EXECUTE 0x10 L'accesso all'area delle pagine è consentito. Un tentativo di lettura o scrittura all'interno dell'area genera una violazione di accesso.
PAGE_READONLY 0x02 È consentito l'accesso in sola lettura ed esecuzione all'area delle pagine. Un tentativo di scrittura all'interno dell'area comporta una violazione di accesso.
PAGE_READWRITE 0x04 È consentito l'accesso in lettura, scrittura ed esecuzione all'area delle pagine. Se è consentito l'accesso in scrittura alla sezione sottostante, viene condivisa una singola copia delle pagine. In caso contrario, le pagine vengono condivise in sola lettura/copia su scrittura.
PAGE_GUARD 0x100 È consentito l'accesso in lettura, scrittura ed esecuzione all'area delle pagine; Tuttavia, l'accesso all'area determina l'attivazione di una condizione di "area di protezione" nel processo soggetto.
PAGE_NOCACHE 0x200 Disabilitare la posizione delle pagine di cui è stato eseguito il commit nella cache dei dati.
PAGE_WRITECOMBINE 0x400 Disabilitare la posizione delle pagine di cui è stato eseguito il commit nella cache dei dati, combinare anche le scritture.

PartitionId

Riservato per l'utilizzo nel sistema.

RegionSize

Dimensioni dell'area in byte a partire dall'indirizzo di base in cui tutte le pagine hanno attributi identici.

State

Stato delle pagine nell'area. Questo membro può essere uno dei valori seguenti.

State Significato
MEM_COMMIT 0x1000 Indica le pagine di cui è stato eseguito il commit per cui è stata allocata l'archiviazione fisica, in memoria o nel file di paging su disco.
MEM_FREE 0x10000 Indica le pagine gratuite non accessibili al processo chiamante e disponibili per l'allocazione.
MEM_RESERVE 0x2000 Indica le pagine riservate in cui viene riservato un intervallo dello spazio indirizzi virtuale del processo senza allocare spazio di archiviazione fisico.

Protect

Protezione di accesso delle pagine nell'area. Questo membro è uno dei valori elencati per il membro AllocationProtect .

Type

Tipo di pagine nell'area. Vengono definiti i tipi seguenti.

Type Significato
MEM_IMAGE 0x1000000 Indica che le pagine di memoria all'interno dell'area vengono mappate nella visualizzazione di una sezione dell'immagine.
MEM_MAPPED 0x40000 Indica che le pagine di memoria all'interno dell'area vengono mappate nella visualizzazione di una sezione.
MEM_PRIVATE 0x20000 Indica che le pagine di memoria all'interno dell'area sono private, ovvero non condivise da altri processi.

Requisiti

Requisito Valore
Client minimo supportato Windows 10
Intestazione ntifs.h

Vedi anche

ZwQueryVirtualMemory