Freigeben über


GetPhysicallyInstalledSystemMemory-Funktion (sysinfoapi.h)

Ruft die Menge an RAM ab, die physisch auf dem Computer installiert ist.

Syntax

BOOL GetPhysicallyInstalledSystemMemory(
  [out] PULONGLONG TotalMemoryInKilobytes
);

Parameter

[out] TotalMemoryInKilobytes

Ein Zeiger auf eine Variable, die die Menge an physisch installiertem RAM in Kilobyte empfängt.

Rückgabewert

Wenn die Funktion erfolgreich ist, gibt sie TRUE zurück und legt den TotalMemoryInKilobytes-Parameter auf einen Wert ungleich null fest.

Wenn die Funktion fehlschlägt, wird FALSE zurückgegeben, und der TotalMemoryInKilobytes-Parameter wird nicht geändert. Verwenden Sie die GetLastError-Funktion , um erweiterte Fehlerinformationen abzurufen. Häufige Fehler sind in der folgenden Tabelle aufgeführt.

Rückgabecode Beschreibung
ERROR_INVALID_PARAMETER
Der TotalMemoryInKilobytes-Parameter ist NULL.
ERROR_INVALID_DATA
Die SMBIOS-Daten (System Management BIOS) sind falsch formatiert.

Hinweise

Die GetPhysicallyInstalledSystemMemory-Funktion ruft die Menge des physisch installierten RAM aus den SMBIOS-Firmwaretabellen des Computers ab. Dies kann sich von der Menge unterscheiden, die von der GlobalMemoryStatusEx-Funktion gemeldet wird, die den ullTotalPhys-Member der MEMORYSTATUSEX-Struktur auf die Menge des physischen Arbeitsspeichers festlegt, der für das Betriebssystem verfügbar ist. Die für das Betriebssystem verfügbare Arbeitsspeichermenge kann kleiner sein als die physisch auf dem Computer installierte Arbeitsspeichermenge, da das BIOS und einige Treiber Speicher möglicherweise als E/A-Regionen für im Speicher zugeordnete Geräte reservieren, sodass der Arbeitsspeicher für das Betriebssystem und anwendungen nicht mehr verfügbar ist.

Die von der GetPhysicallyInstalledSystemMemory-Funktion abgerufene Menge des physischen Arbeitsspeichers muss gleich oder größer sein, die von der GlobalMemoryStatusEx-Funktion gemeldet wird. wenn sie kleiner ist, sind die SMBIOS-Daten falsch formatiert, und die Funktion schlägt mit ERROR_INVALID_DATA fehl. Falsch formatierte SMBIOS-Daten können auf ein Problem mit dem Computer des Benutzers hinweisen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista mit SP1 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile sysinfoapi.h (windows.h einschließen)
Bibliothek Kernel32.lib
DLL Kernel32.dll

Siehe auch

EnumSystemFirmwareTables

GetSystemFirmwareTable

GlobalMemoryStatusEx