如何使用WMI / C ++获取内存信息(RAM类型,例如DDR,DDR2,DDR3?)

时间:2013-01-09 01:59:10

标签: c++ wmi

我的Windows XP SP 2机器上有DDR2内存,但是在WMI资源管理器(win32_physicalMemory)上我得到内存类型= 0(未知)而不是21(DDR2的代码)。 NameSpace是CIMV2。 你能告诉我如何从WMI中获取DDR2内存类型吗?

1 个答案:

答案 0 :(得分:7)

获取此类信息的最可靠方法之一是阅读SMBIOS表,您必须查找Memory Device (Type 17) Structure(此结构描述了系统上安装的单个内存设备),以及{ {1}}字段。

这些是该字段的可能值。

Memory Type

要从C ++应用程序访问SMBIOS,您可以使用01h Other 02h Unknown 03h DRAM 04h EDRAM 05h VRAM 06h SRAM 07h RAM 08h ROM 09h FLASH 0Ah EEPROM 0Bh FEPROM 0Ch EPROM 0Dh CDRAM 0Eh 3DRAM 0Fh SDRAM 10h SGRAM 11h RDRAM 12h DDR 13h DDR2 14h DDR2 FB-DIMM 15h-17h Reserved 18h DDR3 19h FBD2 1Ah DDR4 1Bh LPDDR 1Ch LPDDR2 1Dh LPDDR3 1Eh LPDDR4 WMI类或EnumSystemFirmwareTablesGetSystemFirmwareTable函数。

另外,请查看这些文章,了解如何解析SMBIOS表的信息。