Struttura MEMORYSTATUS (winbase.h)

Contiene informazioni sullo stato corrente della memoria fisica e virtuale. La funzione GlobalMemoryStatus archivia le informazioni in una struttura MEMORYSTATUS .

Sintassi

typedef struct _MEMORYSTATUS {
  DWORD  dwLength;
  DWORD  dwMemoryLoad;
  SIZE_T dwTotalPhys;
  SIZE_T dwAvailPhys;
  SIZE_T dwTotalPageFile;
  SIZE_T dwAvailPageFile;
  SIZE_T dwTotalVirtual;
  SIZE_T dwAvailVirtual;
} MEMORYSTATUS, *LPMEMORYSTATUS;

Members

dwLength

Dimensioni della struttura di dati MEMORYSTATUS , in byte. Non è necessario impostare questo membro prima di chiamare la funzione GlobalMemoryStatus ; la funzione lo imposta.

dwMemoryLoad

Numero compreso tra 0 e 100 che specifica la percentuale approssimativa di memoria fisica in uso (0 indica che non viene utilizzato alcun utilizzo di memoria e 100 indica l'utilizzo completo della memoria).

dwTotalPhys

Quantità di memoria fisica effettiva, in byte.

dwAvailPhys

Quantità di memoria fisica attualmente disponibile, in byte. Si tratta della quantità di memoria fisica che può essere riutilizzata immediatamente senza dover prima scrivere il contenuto su disco. È la somma delle dimensioni degli elenchi standby, libero e zero.

dwTotalPageFile

Dimensioni correnti del limite di memoria di cui è stato eseguito il commit, in byte. Questa è la memoria fisica più le dimensioni del file di pagina, meno un piccolo sovraccarico.

dwAvailPageFile

La quantità massima di memoria che il processo corrente può eseguire il commit, in byte. Questo valore deve essere inferiore al commit disponibile a livello di sistema. Per calcolare questo valore, chiamare GetPerformanceInfo e sottrarre il valore di CommitTotal da CommitLimit.

dwTotalVirtual

Dimensione in byte della parte in modalità utente dello spazio degli indirizzi virtuali del processo chiamante. Questo valore dipende dal tipo di processo, dal tipo di processore e dalla configurazione del sistema operativo. Ad esempio, questo valore è di circa 2 GB per la maggior parte dei processi a 32 bit in un processore x86 e circa 3 GB per i processi a 32 bit che supportano indirizzi di grandi dimensioni in esecuzione in un sistema con ottimizzazione della RAM 4 GT abilitata.

dwAvailVirtual

Quantità di memoria non riservata e di cui non è stato eseguito il commit attualmente nella parte in modalità utente dello spazio degli indirizzi virtuali del processo chiamante, in byte.

Commenti

MEMORYSTATUS riflette lo stato della memoria al momento della chiamata. Riflette anche le dimensioni del file di paging in quel momento. Il sistema operativo può ingrandire il file di paging fino alle dimensioni massime impostate dall'amministratore.

Nei computer con più di 4 GB di memoria, la struttura MEMORYSTATUS può restituire informazioni non corrette, segnalando un valore pari a -1 per indicare un overflow. Se l'applicazione è a rischio per questo comportamento, usare la funzione GlobalMemoryStatusEx anziché la funzione GlobalMemoryStatus .

Esempio

Per un esempio, vedere la funzione GlobalMemoryStatus .

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Intestazione winbase.h (include Windows.h)

Vedi anche

GlobalMemoryStatus

GlobalMemoryStatusEx

Informazioni sulle prestazioni della memoria