我有我的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类或EnumSystemFirmwareTables
和GetSystemFirmwareTable
功能。
此外检查这些文章,看看如何解析SMBIOS表的Infor的。
-
SMBIOS Demystified
(C ++) - 阅读用Delphi SMBIOS表 (德尔福)
文章来源: How to get memory information (RAM type, e.g. DDR,DDR2,DDR3?) with WMI/C++