GetPhysicallyInstalledSystemMemory 函数 (sysinfoapi.h)
检索实际安装在计算机上的 RAM 量。
语法
BOOL GetPhysicallyInstalledSystemMemory(
[out] PULONGLONG TotalMemoryInKilobytes
);
参数
[out] TotalMemoryInKilobytes
指向变量的指针,该变量接收物理安装的 RAM 量(以 KB 为单位)。
返回值
如果函数成功,则返回 TRUE 并将 TotalMemoryInKilobytes 参数设置为非零值。
如果函数失败,它将返回 FALSE ,并且不会修改 TotalMemoryInKilobytes 参数。 若要获取扩展错误信息,请使用 GetLastError 函数。 下表列出了常见错误。
返回代码 | 说明 |
---|---|
|
TotalMemoryInKilobytes 参数为 NULL。 |
|
系统管理 BIOS (SMBIOS) 数据格式不正确。 |
注解
GetPhysicallyInstalledSystemMemory 函数从计算机的 SMBIOS 固件表中检索物理安装的 RAM 量。 这可能不同于 GlobalMemoryStatusEx 函数报告的量,后者将 MEMORYSTATUSEX 结构的 ullTotalPhys 成员设置为可供操作系统使用的物理内存量。 操作系统可用的内存量可能小于计算机中物理安装的内存量,因为 BIOS 和某些驱动程序可能会将内存保留为内存映射设备的 I/O 区域,从而使内存对操作系统和应用程序不可用。
GetPhysicallyInstalledSystemMemory 函数检索的物理内存量必须等于或大于 GlobalMemoryStatusEx 函数报告的内存量;如果较少,则表示 SMBIOS 数据格式不正确,并且函数会因ERROR_INVALID_DATA而失败。 格式不正确的 SMBIOS 数据可能表示用户的计算机有问题。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista SP1 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
目标平台 | Windows |
标头 | sysinfoapi.h (包括 Windows.h) |
Library | Kernel32.lib |
DLL | Kernel32.dll |