2013-01-09 11 views
7

Ho RAM DDR2 sulla mia macchina Windows XP SP 2, ma su WMI explorer (win32_physicalMemory) Ricevo il tipo di memoria = 0 (Sconosciuto) invece di 21 (il codice per DDR2). NameSpace è CIMV2. Puoi dirmi come ottenere il tipo di memoria DDR2 da WMI?Come ottenere informazioni sulla memoria (tipo RAM, ad es. DDR, DDR2, DDR3?) Con WMI/C++

+0

Se stai chiedendo, e ti sta dicendo "sconosciuto", probabilmente non è possibile. Un bel po 'di WMI raccoglie solo dati da altri luoghi. Se quei luoghi non ce l'hanno, allora avrai bisogno di convivere con o non ottenendo quell'informazione, o ricevendo da qualcosa di diverso da WMI. –

risposta

6

Uno dei modi più affidabili per ottenere tali informazioni è la lettura del SMBIOS tabelle, è necessario cercare il Memory Device (Type 17) Structure (tale struttura descrive un dispositivo di memoria singola installato nel sistema), e il Memory Type campo.

Questi sono i valori possibili di questo campo.

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 

Per poter accedere al SMBIOS da un'applicazione C++ è possibile utilizzare il MSSmBios_RawSMBiosTables WMI Classe o le EnumSystemFirmwareTables e GetSystemFirmwareTable funzioni.

Controllare inoltre questi articoli per vedere come analizzare le tabelle SMBIOS.

+0

Cercare lo stesso .. Leggera correzione: per ** valori ** appropriati nel campo MemoryType, vedere [Classe Win32_PhysicalMemory in MSDN] (https://msdn.microsoft.com/en-us/library/aa394347.aspx). – Astrogator

Problemi correlati