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++
risposta
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.
SMBIOS Demystified
(C++)- Reading the SMBios Tables using Delphi (Delphi)
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
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. –