2013-01-09 6 views
7

Mam pamięć DDR2 na mojej maszynie z Windows XP SP 2, ale na eksploratorze WMI (win32_physicalMemory) Otrzymuję typ pamięci = 0 (Nieznany) zamiast 21 (kod DDR2). NameSpace to CIMV2. Czy możesz mi powiedzieć, jak uzyskać typ pamięci DDR2 z WMI?Jak zdobyć informacje o pamięci (typ pamięci RAM, np. DDR, DDR2, DDR3?) Z WMI/C++

+0

Jeśli pytasz, a to z informacją, "nieznane", prawdopodobnie nie może. Sporo WMI tylko zbiera dane z innych miejsc. Jeśli te miejsca go nie mają, musisz żyć albo z brakiem tych informacji, albo z innego źródła niż WMI. –

Odpowiedz

6

Jedna z najbardziej niezawodnych sposobów, aby uzyskać takie informacje czyta SMBIOS Tabele należy szukać Memory Device (Type 17) Structure (struktura ta opisuje pojedyncze urządzenie pamięci zainstalowanej w systemie), a Memory Type Pole.

Oto możliwe wartości tego pola.

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 

W celu uzyskania dostępu do SMBIOS z aplikacji C++ można użyć MSSmBios_RawSMBiosTables WMI klasy lub funkcji EnumSystemFirmwareTables i GetSystemFirmwareTable.

Dodatkowo sprawdź te artykuły, aby zobaczyć, jak analizować informacje tabel SMBIOS.

+0

Szukam tego samego .. Niewielka korekta: dla ** właściwych ** wartości w polu MemoryType zobacz [klasa Win32_PhysicalMemory w MSDN] (https://msdn.microsoft.com/en-us/library/aa394347.aspx). – Astrogator

Powiązane problemy