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) |