Share via


Función GetPhysicallyInstalledSystemMemory (sysinfoapi.h)

Recupera la cantidad de RAM que está instalada físicamente en el equipo.

Sintaxis

BOOL GetPhysicallyInstalledSystemMemory(
  [out] PULONGLONG TotalMemoryInKilobytes
);

Parámetros

[out] TotalMemoryInKilobytes

Puntero a una variable que recibe la cantidad de RAM instalada físicamente, en kilobytes.

Valor devuelto

Si la función se ejecuta correctamente, devuelve TRUE y establece el parámetro TotalMemoryInKilobytes en un valor distinto de cero.

Si se produce un error en la función, devuelve FALSE y no modifica el parámetro TotalMemoryInKilobytes . Para obtener información de error extendida, use la función GetLastError . Los errores comunes se enumeran en la tabla siguiente.

Código devuelto Descripción
ERROR_INVALID_PARAMETER
El parámetro TotalMemoryInKilobytes es NULL.
ERROR_INVALID_DATA
Los datos del BIOS de administración del sistema (SMBIOS) tienen un formato incorrecto.

Comentarios

La función GetPhysicallyInstalledSystemMemory recupera la cantidad de RAM instalada físicamente desde las tablas de firmware SMBIOS del equipo. Esto puede diferir de la cantidad notificada por la función GlobalMemoryStatusEx , que establece el miembro ullTotalPhys de la estructura MEMORYSTATUSEX en la cantidad de memoria física que está disponible para que el sistema operativo lo use. La cantidad de memoria disponible para el sistema operativo puede ser menor que la cantidad de memoria instalada físicamente en el equipo porque el BIOS y algunos controladores pueden reservar memoria como regiones de E/S para dispositivos asignados a memoria, lo que hace que la memoria no esté disponible para el sistema operativo y las aplicaciones.

La cantidad de memoria física recuperada por la función GetPhysicallyInstalledSystemMemory debe ser igual o mayor que la cantidad notificada por la función GlobalMemoryStatusEx ; si es menor, los datos SMBIOS tienen un formato incorrecto y la función produce un error con ERROR_INVALID_DATA. Los datos SMBIOS con formato incorrecto pueden indicar un problema con el equipo del usuario.

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista con SP1 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado sysinfoapi.h (incluya Windows.h)
Library Kernel32.lib
Archivo DLL Kernel32.dll

Vea también

EnumSystemFirmwareTables

GetSystemFirmwareTable

GlobalMemoryStatusEx