MEMORYSTATUSEX-Struktur (sysinfoapi.h)
Enthält Informationen zum aktuellen Zustand sowohl des physischen als auch des virtuellen Arbeitsspeichers, einschließlich des erweiterten Arbeitsspeichers. Die GlobalMemoryStatusEx-Funktion speichert Informationen in dieser Struktur.
Syntax
typedef struct _MEMORYSTATUSEX {
DWORD dwLength;
DWORD dwMemoryLoad;
DWORDLONG ullTotalPhys;
DWORDLONG ullAvailPhys;
DWORDLONG ullTotalPageFile;
DWORDLONG ullAvailPageFile;
DWORDLONG ullTotalVirtual;
DWORDLONG ullAvailVirtual;
DWORDLONG ullAvailExtendedVirtual;
} MEMORYSTATUSEX, *LPMEMORYSTATUSEX;
Member
dwLength
Die Größe der Struktur in Bytes. Sie müssen diesen Member festlegen, bevor Sie aufrufen.
GlobalMemoryStatusEx.
dwMemoryLoad
Eine Zahl zwischen 0 und 100, die den ungefähren Prozentsatz des verwendeten physischen Arbeitsspeichers angibt (0 bedeutet keine Arbeitsspeichernutzung und 100 die vollständige Arbeitsspeicherauslastung).
ullTotalPhys
Die Menge des tatsächlichen physischen Arbeitsspeichers in Bytes.
ullAvailPhys
Die Menge des derzeit verfügbaren physischen Arbeitsspeichers in Bytes. Dies ist die Menge an physischem Arbeitsspeicher, die sofort wiederverwendet werden kann, ohne dass der Inhalt zuerst auf den Datenträger geschrieben werden muss. Dies ist die Summe der Größe der Standby-, Free- und Nulllisten.
ullTotalPageFile
Der aktuelle Speichergrenzwert für das System oder den aktuellen Prozess, je nachdem, welcher Wert kleiner ist, in Bytes. Rufen Sie GetPerformanceInfo auf, um das systemweite Festgelegte Arbeitsspeicherlimit abzurufen.
ullAvailPageFile
Die maximale Arbeitsspeichermenge, die der aktuelle Prozess commiten kann, in Bytes. Dieser Wert ist gleich oder kleiner als der systemweite verfügbare Commitwert. Um den systemweiten verfügbaren Commitwert zu berechnen, rufen Sie GetPerformanceInfo auf, und subtrahieren Sie den Wert von CommitTotal vom Wert von CommitLimit.
ullTotalVirtual
Die Größe des Benutzermodusteils des virtuellen Adressraums des aufrufenden Prozesses in Bytes. Dieser Wert hängt vom Typ des Prozesses, dem Prozessortyp und der Konfiguration des Betriebssystems ab. Dieser Wert beträgt beispielsweise etwa 2 GB für die meisten 32-Bit-Prozesse auf einem x86-Prozessor und ungefähr 3 GB für 32-Bit-Prozesse, die große Adressen kennen, die auf einem System mit aktivierter 4-Gigabyte-Optimierung ausgeführt werden.
ullAvailVirtual
Die Menge des nicht reservierten und nicht belegten Arbeitsspeichers, der sich derzeit im Benutzermodusteil des virtuellen Adressraums des aufrufenden Prozesses in Bytes befindet.
ullAvailExtendedVirtual
Reserviert. Dieser Wert ist immer 0.
Hinweise
MEMORYSTATUSEX gibt den Zustand des Arbeitsspeichers zum Zeitpunkt des Aufrufs wider. Es spiegelt auch die Größe der Auslagerungsdatei zu diesem Zeitpunkt wider. Das Betriebssystem kann die Auslagerungsdatei auf die vom Administrator festgelegte maximale Größe vergrößern.
Die zurückgegebenen physischen Speichergrößen enthalten den Arbeitsspeicher aller Knoten.
Beispiele
Ein Beispiel finden Sie in der Funktion GlobalMemoryStatusEx .
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Kopfzeile | sysinfoapi.h (einschließlich Windows.h) |