Freigeben über


MEMORYSTATUS-Struktur (winbase.h)

Enthält Informationen zum aktuellen Zustand sowohl des physischen als auch des virtuellen Arbeitsspeichers. Die GlobalMemoryStatus-Funktion speichert Informationen in einer MEMORYSTATUS-Struktur .

Syntax

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;

Member

dwLength

Die Größe der MEMORYSTATUS-Datenstruktur in Bytes. Sie müssen diesen Member nicht festlegen, bevor Sie die GlobalMemoryStatus-Funktion aufrufen. die Funktion legt sie fest.

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

dwTotalPhys

Die Menge des tatsächlichen physischen Arbeitsspeichers in Bytes.

dwAvailPhys

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.

dwTotalPageFile

Die aktuelle Größe des zugesagten Arbeitsspeicherlimits in Bytes. Dies ist physischer Arbeitsspeicher plus die Größe der Auslagerungsdatei abzüglich eines kleinen Mehraufwands.

dwAvailPageFile

Die maximale Arbeitsspeichermenge, die der aktuelle Prozess commiten kann, in Bytes. Dieser Wert sollte kleiner als der systemweite verfügbare Commit sein. Um diesen Wert zu berechnen, rufen Sie GetPerformanceInfo auf, und subtrahieren Sie den Wert von CommitTotal von CommitLimit.

dwTotalVirtual

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 Adresswerte aufweisen, die auf einem System mit aktivierter 4 GT RAM-Optimierung ausgeführt werden.

dwAvailVirtual

Die Menge des nicht reservierten und nicht belegten Arbeitsspeichers, der sich derzeit im Benutzermodusteil des virtuellen Adressraums des aufrufenden Prozesses in Bytes befindet.

Hinweise

MEMORYSTATUS gibt den Zustand des Arbeitsspeichers zum Zeitpunkt des Aufrufs an. 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.

Auf Computern mit mehr als 4 GB Arbeitsspeicher kann die MEMORYSTATUS-Struktur falsche Informationen zurückgeben und den Wert –1 als Hinweis auf einen Überlauf angeben. Wenn ihre Anwendung für dieses Verhalten gefährdet ist, verwenden Sie die GlobalMemoryStatusEx-Funktion anstelle der Funktion GlobalMemoryStatus .

Beispiele

Ein Beispiel finden Sie in der Funktion GlobalMemoryStatus .

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Kopfzeile winbase.h (einschließlich Windows.h)

Weitere Informationen

GlobalMemoryStatus

GlobalMemoryStatusEx

Speicherleistungsinformationen