Поделиться через


Функция GetPhysicallyInstalledSystemMemory (sysinfoapi.h)

Извлекает объем ОЗУ, который физически установлен на компьютере.

Синтаксис

BOOL GetPhysicallyInstalledSystemMemory(
  [out] PULONGLONG TotalMemoryInKilobytes
);

Параметры

[out] TotalMemoryInKilobytes

Указатель на переменную, которая получает объем физическо установленной ОЗУ в килобайтах.

Возвращаемое значение

Если функция выполняется успешно, она возвращает значение TRUE и задает для параметра TotalMemoryInKilobytes ненулевое значение.

Если функция завершается сбоем, она возвращает значение FALSE и не изменяет параметр TotalMemoryInKilobytes . Чтобы получить расширенные сведения об ошибке, используйте функцию GetLastError . Распространенные ошибки перечислены в следующей таблице.

Код возврата Описание
ERROR_INVALID_PARAMETER
Параметр TotalMemoryInKilobytes имеет значение NULL.
ERROR_INVALID_DATA
Данные BIOS управления системой (SMBIOS) неправильно сформированы.

Комментарии

Функция GetPhysicallyInstalledSystemMemory извлекает физически установленный объем ОЗУ из таблиц встроенного ПО SMBIOS компьютера. Это может отличаться от объема, сообщаемого функцией GlobalMemoryStatusEx , которая задает член ullTotalPhys структуры MEMORYSTATUSEX объемом физической памяти, доступной операционной системе. Объем памяти, доступный операционной системе, может быть меньше объема памяти, физически установленной на компьютере, так как BIOS и некоторые драйверы могут резервировать память в качестве областей ввода-вывода для устройств, подключенных к памяти, что делает память недоступной для операционной системы и приложений.

Объем физической памяти, получаемой функцией GetPhysicallyInstalledSystemMemory , должен быть равен или больше объема, сообщаемого функцией GlobalMemoryStatusEx ; Если значение меньше, данные SMBIOS неправильно сформированы и функция завершается сбоем с ERROR_INVALID_DATA. Неправильные данные SMBIOS могут указывать на проблему с компьютером пользователя.

Требования

Требование Значение
Минимальная версия клиента Windows Vista с пакетом обновления 1 (SP1) [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header sysinfoapi.h (включая Windows.h)
Библиотека Kernel32.lib
DLL Kernel32.dll

См. также

EnumSystemFirmwareTables

GetSystemFirmwareTable

GlobalMemoryStatusEx