我在Windows XP SP 2計算機上有DDR2 RAM,但是在WMI資源管理器(win32_physicalMemory)上我得到Memory Type = 0 (未知)而不是21(DDR2的代碼)。 NameSpace是CIMV2。 您能否告訴我如何從WMI獲取DDR2內存類型?如何使用WMI/C++獲取內存信息(RAM類型,例如DDR,DDR2,DDR3?)
7
A
回答
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類或EnumSystemFirmwareTables
和GetSystemFirmwareTable
功能的C++應用程序訪問SMBIOS。
此外,請查看這些文章,瞭解如何解析SMBIOS表的信息。
+0
正在尋找相同的內容。輕微更正:對於MemoryType字段中的**正確**值,請參閱[MSDN中的Win32_PhysicalMemory類](https://msdn.microsoft.com/zh-cn/library/aa394347.aspx)。 – Astrogator
相關問題
- 1. WMIC獲取物理內存
- 2. 如何通過WMI查詢獲取GB中的總物理內存(RAM)信息?
- 3. 如何使用c程序從QNX獲取內存信息?
- 4. 如何從泛型中獲取類的類型信息?
- 5. 如何存儲類型信息
- 6. 窗戶的API來獲取RAM信息
- 7. WMI硬件,獲取RAM信息
- 8. 如何獲取有關用戶定義類型的信息?
- 9. 如何使用PHP獲取信息?
- 10. 如何使用java獲取BIOS信息?
- 11. 如何使用LINQ獲取此信息
- 12. 如何使用VB6獲取CPU名稱,總RAM等硬件信息?
- 13. 如何使用C#獲取主板內存通道類型?
- 14. 如何獲取/ mnt/emmc存儲信息?
- 15. 如何在不使用泛型的情況下獲取類型信息?
- 16. 如何在Android中使用SQL例外獲取詳細信息
- 17. 使用DynamicObject存儲類型信息
- 18. 如何獲取Linux系統上的內存信息?
- 19. 如何獲取模擬器的iOS內存消耗信息?
- 20. 如何在交互式Ocaml中獲取類型信息?
- 21. 如何從FSharp提示中獲取有關類型的信息
- 22. 如何組合功能以獲取多種類型的信息
- 23. 如何從TGUID獲取界面類型信息?
- 24. 如何在使用BroadcastReceiver時讀取/獲取消息類型
- 25. PHP - 使用類獲取用戶信息
- 26. 如何在c#中的內存中獲取Image類實例的mime類型?
- 27. 如何使用AndesAdminService類獲取隊列相關詳細信息
- 28. 如何獲取WIndows Phone 7的CPU和內存使用情況統計信息?
- 29. 獲取進程內存信息
- 30. C - 獲取IPC共享內存信息
如果你問,和它告訴你 「未知」,你可能無法。相當多的WMI只是從其他地方收集數據。如果這些地方沒有它,那麼你需要忍受不是獲取這些信息,或者從WMI以外的地方獲得它。 –