SitemapInfoHomeTips und Tricks - Speichergröße ermitteln

Homepage

Software,
Download

Software-
entwicklung

  Tips und Tricks

Nachrichten-
technik

Internet

Aktuelles,
Sonstiges

Infos,
Kontakt

Sitemap


Mit dieser Funktion kann eine 16 Bit-Anwendung aus dem CMOS-RAM die Summe des dem Rechner zur Verfügung stehenden Speichers ermitteln. Das Funktionsergebnis ist die Summe aus installiertem Basisspeicher und installiertem Erweiterungsspeicher (Speicher überhalb der 1MB-Grenze, bis zu 15360KB).
Mit GetFreeSpace(0) ermitteln Sie den Speicher, der dem Speichermanager von Windows zur Verfügung steht. Unter Windows 3.x wird hier die Größe des virtuellen Freispeichers angezeigt (virtueller Speicher = physischer Speicher + Größe der Auslagerungsdatei). Ab Windows 95 wird jedoch nur der beim Start von Windows freie physische Speicher angezeigt.
32 Bit-Anwendungen sollten die Win32-Funktion GlobalMemoryStatus() verwenden.


Win16

/* Ermittelt die Summe aus Basis- */
/* und Erweiterungsspeicher in KB */

DWORD GetInstalledRAM(void)
{
   DWORD ram;

   /* Größe des installierten Basisspeichers */
   outp(0x70, inp(0x70) & 0x80 | 0x15);
   ram = inp(0x71);
   outp(0x70, inp(0x70) & 0x80 | 0x16);
   ram += inp(0x71) << 8;

   /* plus 384 KB des Adapterbereichs */
   ram += 384;

   /* Größe des installierten Erweiterungsspeichers */
   outp(0x70, inp(0x70) & 0x80 | 0x17);
   ram += inp(0x71);
   outp(0x70, inp(0x70) & 0x80 | 0x18);
   ram += inp(0x71) << 8;

   return (ram);
}


Win32

/* Ermittelt den installierten Speicher */
/* über die Funktion GlobalMemoryStatus(). */
/* Das Ergebnis wird auf volle MB aufgerundet. */


DWORD GetInstalledRAM(VOID)
{
   MEMORYSTATUS MemoryStatus;
   DWORD dwRAM, dwTMP;

   MemoryStatus.dwLength = sizeof(MEMORYSTATUS);
   GlobalMemoryStatus(&MemoryStatus);

   dwRAM = dwTMP = MemoryStatus.dwTotalPhys >> 20;
   dwRAM &= 1;
   dwRAM += dwTMP;

   return dwRAM;
}

[ getram16.c ] [ getram32.c ]

[ << Vorheriger ] [ Übersicht ] [ Nächster >> ]

TopHomepage » Softwareentwicklung » Tips und Tricks » Speicher ermitteln