2013-01-09 60 views
7

我在Windows XP SP 2計算機上有DDR2 RAM,但是在WMI資源管理器(win32_physicalMemory)上我得到Memory Type = 0 (未知)而不是21(DDR2的代碼)。 NameSpace是CIMV2。 您能否告訴我如何從WMI獲取DDR2內存類型?如何使用WMI/C++獲取內存信息(RAM類型,例如DDR,DDR2,DDR3?)

+0

如果你問,和它告訴你 「未知」,你可能無法。相當多的WMI只是從其他地方收集數據。如果這些地方沒有它,那麼你需要忍受不是獲取這些信息,或者從WMI以外的地方獲得它。 –

回答

6

獲取此類信息的最可靠方法之一是閱讀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 

爲了從可以使用MSSmBios_RawSMBiosTables WMI類或EnumSystemFirmwareTablesGetSystemFirmwareTable功能的C++應用程序訪問SMBIOS。

此外,請查看這些文章,瞭解如何解析SMBIOS表的信息。

+0

正在尋找相同的內容。輕微更正:對於MemoryType字段中的**正確**值,請參閱[MSDN中的Win32_PhysicalMemory類](https://msdn.microsoft.com/zh-cn/library/aa394347.aspx)。 – Astrogator

相關問題