如何获得内存信息(RAM类型,例如,DDR,DDR2,DDR3?)与WMI / C ++(How t

2019-07-18 00:13发布

我有我的Windows XP SP 2机DDR2内存,但WMI探险家(win32_physicalMemory)我越来越内存类型= 0(未知),而不是21(对于DDR2的代码)。 命名空间是CIMV2。 你能告诉我怎么去DDR2内存类型从WMI?

Answer 1:

其中一个最可靠的方式来获得这样的信息被读取SMBIOS表,你必须寻找Memory Device (Type 17) Structure (该结构描述在系统上安装了一个存储设备),以及Memory Type字段。

这是本场的可能值。

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

为了从可以使用C ++应用程序访问SMBIOS MSSmBios_RawSMBiosTables WMI类或EnumSystemFirmwareTablesGetSystemFirmwareTable功能。

此外检查这些文章,看看如何解析SMBIOS表的Infor的。

  • SMBIOS Demystified (C ++)
  • 阅读用Delphi SMBIOS表 (德尔福)


文章来源: How to get memory information (RAM type, e.g. DDR,DDR2,DDR3?) with WMI/C++
标签: c++ wmi