diff --git a/LibreHardwareMonitorLib/Hardware/SMBios.cs b/LibreHardwareMonitorLib/Hardware/SMBios.cs index 9571668..71a7a0a 100644 --- a/LibreHardwareMonitorLib/Hardware/SMBios.cs +++ b/LibreHardwareMonitorLib/Hardware/SMBios.cs @@ -1094,10 +1094,9 @@ public class MemoryDevice : InformationBase ConfiguredSpeed = GetWord(0x20); ConfiguredVoltage = GetWord(0x26); Size = GetWord(0x0C); + if (Size == 0x7FFF) + Size = GetDword(0x1C); Type = (MemoryType)GetByte(0x12); - - if (GetWord(0x1C) > 0) - Size += GetWord(0x1C); } /// @@ -1126,9 +1125,11 @@ public class MemoryDevice : InformationBase public string SerialNumber { get; } /// - /// Gets the size of the memory device. If the value is 0, no memory device is installed in the socket. + /// Gets the size of the memory device. + /// If the value is 0, no memory device is installed in the socket. + /// If the value is 0xFFFF, the size is unknown. /// - public ushort Size { get; } + public uint Size { get; } /// /// Gets the value that identifies the maximum capable speed of the device, in mega transfers per second (MT/s).