2013-01-09 25 views
7

Tôi có RAM DDR2 trên Windows XP SP 2 Machine, nhưng trên WMI explorer (win32_physicalMemory) Tôi nhận được Loại bộ nhớ = 0 (Không biết) thay vì 21 (mã cho DDR2). NameSpace là CIMV2. Bạn có thể cho tôi biết cách nhận Loại bộ nhớ DDR2 từ WMI không?Cách nhận thông tin bộ nhớ (loại RAM, ví dụ DDR, DDR2, DDR3?) Với WMI/C++

+0

Nếu bạn đang yêu cầu, và nó nói với bạn "không rõ", có lẽ bạn không thể. Khá nhiều WMI chỉ thu thập dữ liệu từ những nơi khác. Nếu những nơi đó không có nó, thì bạn sẽ cần phải sống với một trong hai không nhận được thông tin đó, hoặc nhận được nó từ một cái gì đó khác hơn là WMI. –

Trả lời

6

Một trong những cách đáng tin cậy nhất để nhận được thông tin đó được đọc SMBIOS Bàn, bạn phải tìm kiếm các Memory Device (Type 17) Structure (cấu trúc này mô tả một thiết bị bộ nhớ đơn cài đặt trên hệ thống), và Memory Type Field.

Đây là các giá trị có thể có của trường này.

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 

Để truy cập vào SMBIOS từ một ứng dụng ++ C bạn có thể sử dụng WMI Lớp MSSmBios_RawSMBiosTables hoặc EnumSystemFirmwareTablesGetSystemFirmwareTable chức năng.

Ngoài ra, hãy kiểm tra các bài viết này để xem cách phân tích cú pháp thông tin của các bảng SMBIOS.

+0

Tìm kiếm tương tự .. Chỉnh sửa nhẹ: cho ** giá trị ** thích hợp trong trường Loại bộ nhớ xem [lớp Win32_PhysicalMemory trong MSDN] (https://msdn.microsoft.com/en-us/library/aa394347.aspx). – Astrogator

Các vấn đề liên quan