Condividi tramite


Funzione GetPhysicallyInstalledSystemMemory (sysinfoapi.h)

Recupera la quantità di RAM installata fisicamente nel computer.

Sintassi

BOOL GetPhysicallyInstalledSystemMemory(
  [out] PULONGLONG TotalMemoryInKilobytes
);

Parametri

[out] TotalMemoryInKilobytes

Puntatore a una variabile che riceve la quantità di RAM installata fisicamente, in kilobyte.

Valore restituito

Se la funzione ha esito positivo, restituisce TRUE e imposta il parametro TotalMemoryInKilobytes su un valore diverso da zero.

Se la funzione ha esito negativo, restituisce FALSE e non modifica il parametro TotalMemoryInKilobytes . Per ottenere informazioni sull'errore estese, usare la funzione GetLastError . Gli errori comuni sono elencati nella tabella seguente.

Codice restituito Descrizione
ERROR_INVALID_PARAMETER
Il parametro TotalMemoryInKilobytes è NULL.
ERROR_INVALID_DATA
I dati SMBIOS (System Management BIOS) sono non formattati.

Commenti

La funzione GetPhysicallyInstalledSystemMemory recupera la quantità di RAM installata fisicamente dalle tabelle del firmware SMBIOS del computer. Ciò può variare dalla quantità segnalata dalla funzione GlobalMemoryStatusEx , che imposta il membro ullTotalPhys della struttura MEMORYSTATUSEX alla quantità di memoria fisica disponibile per l'uso del sistema operativo. La quantità di memoria disponibile per il sistema operativo può essere minore della quantità di memoria installata fisicamente nel computer perché il BIOS e alcuni driver possono riservare memoria come aree di I/O per i dispositivi mappati alla memoria, rendendo la memoria non disponibile per il sistema operativo e le applicazioni.

La quantità di memoria fisica recuperata dalla funzione GetPhysicallyInstalledSystemMemory deve essere uguale o maggiore della quantità segnalata dalla funzione GlobalMemoryStatusEx ; se è minore, i dati SMBIOS sono non formattati correttamente e la funzione ha esito negativo con ERROR_INVALID_DATA. I dati SMBIOS non formattati possono indicare un problema con il computer dell'utente.

Requisiti

Requisito Valore
Client minimo supportato Windows Vista con SP1 [solo app desktop]
Server minimo supportato Windows Server 2008 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione sysinfoapi.h (includere Windows.h)
Libreria Kernel32.lib
DLL Kernel32.dll

Vedere anche

EnumSystemFirmwareTables

GetSystemFirmwareTable

GlobalMemoryStatusEx