Struttura MEMORYSTATUSEX (sysinfoapi.h)
Contiene informazioni sullo stato corrente della memoria fisica e virtuale, inclusa la memoria estesa. La funzione GlobalMemoryStatusEx archivia le informazioni in questa struttura.
Sintassi
typedef struct _MEMORYSTATUSEX {
DWORD dwLength;
DWORD dwMemoryLoad;
DWORDLONG ullTotalPhys;
DWORDLONG ullAvailPhys;
DWORDLONG ullTotalPageFile;
DWORDLONG ullAvailPageFile;
DWORDLONG ullTotalVirtual;
DWORDLONG ullAvailVirtual;
DWORDLONG ullAvailExtendedVirtual;
} MEMORYSTATUSEX, *LPMEMORYSTATUSEX;
Members
dwLength
Dimensioni della struttura, in byte. È necessario impostare questo membro prima di chiamare
GlobalMemoryStatusEx.
dwMemoryLoad
Numero compreso tra 0 e 100 che specifica la percentuale approssimativa di memoria fisica in uso (0 indica che non viene usato alcun utilizzo di memoria e 100 indica l'uso completo della memoria).
ullTotalPhys
Quantità di memoria fisica effettiva, in byte.
ullAvailPhys
Quantità di memoria fisica attualmente disponibile, in byte. Si tratta della quantità di memoria fisica che può essere riutilizzata immediatamente senza dover scrivere prima il relativo contenuto nel disco. È la somma delle dimensioni dell'elenco standby, gratuito e zero.
ullTotalPageFile
Limite di memoria con commit corrente per il sistema o il processo corrente, che tuttavia è più piccolo, in byte. Per ottenere il limite di memoria commit a livello di sistema, chiamare GetPerformanceInfo.
ullAvailPageFile
La quantità massima di memoria che il processo corrente può eseguire il commit, in byte. Questo valore è uguale o minore del valore di commit disponibile a livello di sistema. Per calcolare il valore di commit disponibile a livello di sistema, chiamare GetPerformanceInfo e sottraere il valore di CommitTotal dal valore di CommitLimit.
ullTotalVirtual
Dimensioni della parte in modalità utente dello spazio indirizzi virtuale del processo chiamante, in byte. Questo valore dipende dal tipo di processo, dal tipo di processore e dalla configurazione del sistema operativo. Questo valore, ad esempio, è di circa 2 GB per la maggior parte dei processi a 32 bit su un processore x86 e circa 3 GB per i processi a 32 bit che sono a conoscenza di indirizzi di grandi dimensioni in esecuzione in un sistema con ottimizzazione a 4 gigabyte abilitata.
ullAvailVirtual
Quantità di memoria non autorizzata e non autorizzata attualmente nella parte in modalità utente dello spazio indirizzi virtuale del processo chiamante, in byte.
ullAvailExtendedVirtual
Riservato. Il valore è sempre 0 .
Commenti
MEMORYSTATUSEX riflette lo stato di 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 alla dimensione massima impostata dall'amministratore.
Le dimensioni della memoria fisica restituite includono la memoria da tutti i nodi.
Esempio
Per un esempio, vedere la funzione GlobalMemoryStatusEx .
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Intestazione | sysinfoapi.h (includere Windows.h) |