Condividi tramite


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;

Membri

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 genera una violazione di accesso.
PAGE_EXECUTE 0x10 È consentito eseguire l'accesso all'area delle pagine. Un tentativo di lettura o scrittura all'interno dell'area comporta 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 di sola lettura/copy-on-write.
PAGE_GUARD 0x100 È consentito l'accesso in lettura, scrittura ed esecuzione all'area delle pagine; Tuttavia, l'accesso all'area fa sì che una condizione di "area di protezione immessa" venga generata 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'uso del 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.

Stato 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 un intervallo di spazio indirizzi virtuale del processo è riservato senza allocare alcuna risorsa di archiviazione fisica.

Protect

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

Type

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

Digitare 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.

Fabbisogno

Requisito Valore
client minimo supportato Windows 10
intestazione ntifs.h

Vedere anche

ZwQueryVirtualMemory