GetPhysicalInstalledSystemMemory, fonction (sysinfoapi.h)

Récupère la quantité de RAM installée physiquement sur l’ordinateur.

Syntaxe

BOOL GetPhysicallyInstalledSystemMemory(
  [out] PULONGLONG TotalMemoryInKilobytes
);

Paramètres

[out] TotalMemoryInKilobytes

Pointeur vers une variable qui reçoit la quantité de RAM physiquement installée, en kilo-octets.

Valeur retournée

Si la fonction réussit, elle retourne TRUE et définit le paramètre TotalMemoryInKilobytes sur une valeur différente de zéro.

Si la fonction échoue, elle retourne FALSE et ne modifie pas le paramètre TotalMemoryInKilobytes . Pour obtenir des informations d’erreur étendues, utilisez la fonction GetLastError . Les erreurs courantes sont répertoriées dans le tableau suivant.

Code de retour Description
ERROR_INVALID_PARAMETER
Le paramètre TotalMemoryInKilobytes a la valeur NULL.
ERROR_INVALID_DATA
Les données du BIOS de gestion du système (SMBIOS) sont incorrectes.

Remarques

La fonction GetPhysicalInstalledSystemMemory récupère la quantité de RAM physiquement installée à partir des tables de microprogramme SMBIOS de l’ordinateur. Cela peut différer de la quantité signalée par la fonction GlobalMemoryStatusEx , qui définit le membre ullTotalPhys de la structure MEMORYSTATUSEX sur la quantité de mémoire physique disponible pour le système d’exploitation. La quantité de mémoire disponible pour le système d’exploitation peut être inférieure à la quantité de mémoire physiquement installée sur l’ordinateur, car le BIOS et certains pilotes peuvent réserver de la mémoire en tant que régions d’E/S pour les appareils mappés à la mémoire, ce qui rend la mémoire indisponible pour le système d’exploitation et les applications.

La quantité de mémoire physique récupérée par la fonction GetPhysicallyInstalledSystemMemory doit être égale ou supérieure à la quantité signalée par la fonction GlobalMemoryStatusEx ; si elle est inférieure, les données SMBIOS sont incorrectes et la fonction échoue avec ERROR_INVALID_DATA. Des données SMBIOS mal formées peuvent indiquer un problème avec l’ordinateur de l’utilisateur.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista avec SP1 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
Plateforme cible Windows
En-tête sysinfoapi.h (inclure Windows.h)
Bibliothèque Kernel32.lib
DLL Kernel32.dll

Voir aussi

EnumSystemFirmwareTables

GetSystemFirmwareTable

GlobalMemoryStatusEx