Von Thomas Hölzer am 26 April, 1998 um 19:07:52:
Antwort auf: THOMAS HÖLZER SPEICHERINFO W32 von Klaus Sebald am 26 April, 1998 um 13:23:15:
Hi Klaus,
Die Einheit Megabyte ist schon richtig - die Funktion GlobalMemoryStatus
zeigt Bytes
an und die werden der Übersichtlichkeit wegen (rundend) umgerechnet.
Das Poblem ist, daß die Werte teilweise den tatsächlichen Status spiegeln,
teilweise die
theoretischen Grenzen der Speicherverwaltung aufzeigen.
So wird z.B. nicht die tatsächliche Größe der Swapdatei sondern die max.
mögliche
angezeigt .
(das dürfte in der Regel dem freien Platz auf der dafür gewählten Partition
entsprechen.
Ausnahme: Riesenpartitionen unter OSR2, die größer als 2 GByte formatiert
sind. Die können
übrigens auch andere Probleme machen (Diskfree), weil die Anzeige ihrer
Größe den Wertebereich von
Longints locker übersteigen kann).
Der vorletzte Wert müßte bei GlobalMemoryStatus immer 2044 (2 GB) ergeben,
weil das das theoretische Maximum darstellt, das Windows einem Prozess
(virtuell) zur Verfügung stellt.
Die deklarierte Hilfsfunktion hätte ich übrigens mal besser MByte& nennen
sollen,
da sie natürlich mit Longints arbeitet.
Der letzte Wert ist ein bißchen schwer zu übersetzen:
"Indicates the number of bytes of unreserved and uncommitted memory in the
user mode portion of the virtual address space of the calling process."
MfG
Thomas