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)

Weitere Informationen

GlobalMemoryStatusEx

Speicherleistungsinformationen