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)

Vedi anche

GlobalMemoryStatusEx

Informazioni sulle prestazioni della memoria