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