/// <inheritdoc/> /// <summary> /// Populates the property collection for this structure. /// </summary> /// <param name="properties">Collection of properties of this structure.</param> protected override void PopulateProperties(SmbiosPropertiesTable properties) { #region 2.0+ if (StructureInfo.StructureVersion >= SmbiosStructureVersion.v20) { properties.Add(SmbiosProperty.System.Manufacturer, Manufacturer); properties.Add(SmbiosProperty.System.ProductName, ProductName); properties.Add(SmbiosProperty.System.Version, Version); properties.Add(SmbiosProperty.System.SerialNumber, SerialNumber); } #endregion #region 2.1+ if (StructureInfo.StructureVersion >= SmbiosStructureVersion.v21) { properties.Add(SmbiosProperty.System.WakeUpType, GetWakeUpType(WakeUpType)); byte[] uuid = StructureInfo.RawData.Extract(0x08, 0x10).ToArray(); properties.Add(SmbiosProperty.System.UUID, GetUuid(uuid, SmbiosVersion)); } #endregion #region 2.4+ if (StructureInfo.StructureVersion >= SmbiosStructureVersion.v24) { properties.Add(SmbiosProperty.System.SkuNumber, Sku); properties.Add(SmbiosProperty.System.Family, Family); } #endregion }
/// <inheritdoc/> /// <summary> /// Populates the property collection for this structure. /// </summary> /// <param name="properties">Collection of properties of this structure.</param> protected override void PopulateProperties(SmbiosPropertiesTable properties) { #region 2.0+ if (StructureInfo.StructureVersion >= SmbiosStructureVersion.v20) { properties.Add(SmbiosProperty.SystemEventLog.LogAreaLength, LogAreaLength); properties.Add(SmbiosProperty.SystemEventLog.LogHeaderStartOffset, LogHeaderStartOffset); properties.Add(SmbiosProperty.SystemEventLog.DataStartOffset, DataStartOffset); properties.Add(SmbiosProperty.SystemEventLog.AccessMethod, GetAccessMethod(AccessMethod)); properties.Add(SmbiosProperty.SystemEventLog.LogStatus, GetLogStatus(LogStatus)); if (AccessMethod <= 0x04) { properties.Add(SmbiosProperty.SystemEventLog.AccessMethodAddress, GetAccessMethodAddress(AccessMethod, AccessMethodAddress)); } properties.Add(SmbiosProperty.SystemEventLog.LogChangeToken, $"{LogChangeToken:X}"); } #endregion #region 2.1+ if (StructureInfo.StructureVersion >= SmbiosStructureVersion.v21) { properties.Add(SmbiosProperty.SystemEventLog.LogHeaderFormat, GetLogHeaderFormat(LogHeaderFormat)); properties.Add(SmbiosProperty.SystemEventLog.SupportedLogTypeDescriptors, SupportedLogTypeDescriptors); var n = SupportedLogTypeDescriptors * LengthTypeDescriptor; if (StructureInfo.Length > 0x17 + n) { properties.Add(SmbiosProperty.SystemEventLog.ListSupportedEventLogTypeDescriptors, GetListSupportedEventLogTypeDescriptors(Reader.Data.Extract(0x17, n - 1).ToArray())); } } #endregion }
/// <inheritdoc/> /// <summary> /// Populates the property collection for this structure. /// </summary> /// <param name="properties">Collection of properties of this structure.</param> protected override void PopulateProperties(SmbiosPropertiesTable properties) { properties.Add(SmbiosProperty.Chassis.Elements.Min, Min); properties.Add(SmbiosProperty.Chassis.Elements.Max, Max); properties.Add(SmbiosProperty.Chassis.Elements.TypeSelect, TypeSelect); properties.Add(SmbiosProperty.Chassis.Elements.ItemType, ItemType); }
/// <inheritdoc/> /// <summary> /// Populates the property collection for this structure. /// </summary> /// <param name="properties">Collection of properties of this structure.</param> protected override void PopulateProperties(SmbiosPropertiesTable properties) { properties.Add(SmbiosProperty.SystemPowerSupply.IsRedundant, IsRedundant); properties.Add(SmbiosProperty.SystemPowerSupply.Location, Location); properties.Add(SmbiosProperty.SystemPowerSupply.DeviceName, DeviceName); properties.Add(SmbiosProperty.SystemPowerSupply.Manufacturer, Manufacturer); properties.Add(SmbiosProperty.SystemPowerSupply.SerialNumber, SerialNumber); properties.Add(SmbiosProperty.SystemPowerSupply.AssetTagNumber, AssetTagNumber); properties.Add(SmbiosProperty.SystemPowerSupply.ModelPartNumber, ModelPartNumber); properties.Add(SmbiosProperty.SystemPowerSupply.RevisionLevel, RevisionLevel); properties.Add(SmbiosProperty.SystemPowerSupply.MaxPowerCapacity, MaxPowerCapacity); properties.Add(SmbiosProperty.SystemPowerSupply.Characteristics.SupplyType, GetSupplyType(SupplyType)); properties.Add(SmbiosProperty.SystemPowerSupply.Characteristics.Status, GetStatus(Status)); properties.Add(SmbiosProperty.SystemPowerSupply.Characteristics.InputVoltageRange, GetInputVoltageRange(InputVoltageRange)); properties.Add(SmbiosProperty.SystemPowerSupply.Characteristics.IsPlugged, IsPlugged); properties.Add(SmbiosProperty.SystemPowerSupply.Characteristics.IsPresent, IsPresent); properties.Add(SmbiosProperty.SystemPowerSupply.Characteristics.IsHotReplaceable, IsHotReplaceable); if (StructureInfo.Length >= 0x11) { properties.Add(SmbiosProperty.SystemPowerSupply.InputVoltageProbeHandle, InputVoltageProbeHandle); } if (StructureInfo.Length >= 0x13) { properties.Add(SmbiosProperty.SystemPowerSupply.CoolingDeviceHandle, CoolingDeviceHandle); } if (StructureInfo.Length >= 0x15) { properties.Add(SmbiosProperty.SystemPowerSupply.InputCurrentProbeHandle, InputCurrentProbeHandle); } }
/// <inheritdoc/> /// <summary> /// Populates the property collection for this structure. /// </summary> /// <param name="properties">Collection of properties of this structure.</param> protected override void PopulateProperties(SmbiosPropertiesTable properties) { if (StructureInfo.StructureVersion < SmbiosStructureVersion.Latest) { return; } properties.Add(SmbiosProperty.IpmiDevice.InterfaceType, GetInterfaceType(InterfaceType)); properties.Add(SmbiosProperty.IpmiDevice.SpecificationRevision, SpecificationRevision); properties.Add(SmbiosProperty.IpmiDevice.I2CSlaveAddress, I2CSlaveAddress); properties.Add(SmbiosProperty.IpmiDevice.NVStorageDeviceAddress, NVStorageDeviceAddress); properties.Add(SmbiosProperty.IpmiDevice.BaseAddress, BaseAddress); if (StructureInfo.Length >= 0x11) { if (BaseAddressModifier != 0x00) { properties.Add(SmbiosProperty.IpmiDevice.BaseAdressModifier.RegisterSpacing, GetRegisterSpacing(RegisterSpacing)); properties.Add(SmbiosProperty.IpmiDevice.BaseAdressModifier.LsBit, LsBit); properties.Add(SmbiosProperty.IpmiDevice.Interrupt.SpecifiedInfo, SpecifiedInfo); properties.Add(SmbiosProperty.IpmiDevice.Interrupt.Polarity, Polarity); properties.Add(SmbiosProperty.IpmiDevice.Interrupt.TriggerMode, TriggerMode); } } if (StructureInfo.Length >= 0x12) { properties.Add(SmbiosProperty.IpmiDevice.InterruptNumber, InterruptNumber); } }
/// <inheritdoc/> /// <summary> /// Populates the property collection for this structure. /// </summary> /// <param name="properties">Collection of properties of this structure.</param> protected override void PopulateProperties(SmbiosPropertiesTable properties) { #region 2.0+ if (StructureInfo.StructureVersion >= SmbiosStructureVersion.v20) { properties.Add(SmbiosProperty.Bios.Vendor, Vendor); properties.Add(SmbiosProperty.Bios.BiosVersion, BiosVersion); properties.Add(SmbiosProperty.Bios.BiosStartSegment, BiosStartSegment); properties.Add(SmbiosProperty.Bios.BiosReleaseDate, BiosReleaseDate); properties.Add(SmbiosProperty.Bios.BiosRomSize, RomSize); properties.Add(SmbiosProperty.Bios.Characteristics, GetCharacteristics(Characteristics)); } #endregion #region 2.4+ if (StructureInfo.StructureVersion >= SmbiosStructureVersion.v24) { properties.Add(SmbiosProperty.Bios.CharacteristicsExtensionByte1, GetExtensionByte1(ExtensionByte1)); properties.Add(SmbiosProperty.Bios.CharacteristicsExtensionByte2, GetExtensionByte2(ExtensionByte2)); properties.Add(SmbiosProperty.Bios.SystemBiosMajorRelease, SystemBiosMajorRelease); properties.Add(SmbiosProperty.Bios.SystemBiosMinorRelease, SystemBiosMinorRelease); properties.Add(SmbiosProperty.Bios.FirmwareMajorRelease, FirmwareMajorRelease); properties.Add(SmbiosProperty.Bios.FirmwareMinorRelease, FirmwareMinorRelease); } #endregion #region 3.1+ if (StructureInfo.StructureVersion >= SmbiosStructureVersion.v31) { properties.Add(SmbiosProperty.Bios.ExtendedBiosRomSize, ExtendedBiosRomSize); properties.Add(SmbiosProperty.Bios.BiosRomSizeUnit, ExtendedBiosRomSizeUnits); } #endregion }
/// <inheritdoc/> /// <summary> /// Populates the property collection for this structure. /// </summary> /// <param name="properties">Collection of properties of this structure.</param> protected override void PopulateProperties(SmbiosPropertiesTable properties) { if (StructureInfo.StructureVersion < SmbiosStructureVersion.Latest) { return; } TpmCapabilityVendorId tpmCapabilityVendorIdEntry = GetTpmCapabilityVendorId(RawVendorId); properties.Add(SmbiosProperty.TpmDevice.VendorId, tpmCapabilityVendorIdEntry.ASCII); properties.Add(SmbiosProperty.TpmDevice.VendorIdDescription, tpmCapabilityVendorIdEntry.Description); properties.Add(SmbiosProperty.TpmDevice.MajorSpecVersion, MajorSpecVersion); properties.Add(SmbiosProperty.TpmDevice.MinorSpecVersion, MinorSpecVersion); var firmwareVersion = TpmFirmwareVersion.Unknown; if (MajorSpecVersion >= 0x01 && MajorSpecVersion <= 0x02) { firmwareVersion = MajorSpecVersion == 0x01 ? TpmFirmwareVersion.Parse(RawFirmwareVersion1) : new TpmFirmwareVersion { MajorVersion = (int)Reader.GetDoubleWord(0x0a), MinorVersion = (int)Reader.GetDoubleWord(0x0e) }; } properties.Add(SmbiosProperty.TpmDevice.FirmwareVersion, firmwareVersion); properties.Add(SmbiosProperty.TpmDevice.Description, DescriptionVersion2); properties.Add(SmbiosProperty.TpmDevice.Characteristics, GetTpmCharacteristics(Characteristics)); properties.Add(SmbiosProperty.TpmDevice.OemDefined, OemDefined); }
/// <inheritdoc/> /// <summary> /// Populates the property collection for this structure. /// </summary> /// <param name="properties">Collection of properties of this structure.</param> protected override void PopulateProperties(SmbiosPropertiesTable properties) { properties.Add(SmbiosProperty.AdditionalInformation.Entry.EntryLength, EntryLength); properties.Add(SmbiosProperty.AdditionalInformation.Entry.ReferencedHandle, ReferencedHandle); properties.Add(SmbiosProperty.AdditionalInformation.Entry.ReferencedOffset, ReferencedOffset); properties.Add(SmbiosProperty.AdditionalInformation.Entry.StringValue, StringValue); properties.Add(SmbiosProperty.AdditionalInformation.Entry.Value, Value); }
/// <inheritdoc/> /// <summary> /// Populates the property collection for this structure. /// </summary> /// <param name="properties">Collection of properties of this structure.</param> protected override void PopulateProperties(SmbiosPropertiesTable properties) { properties.Add(SmbiosProperty.PortConnector.InternalReferenceDesignator, InternalReference); properties.Add(SmbiosProperty.PortConnector.InternalConnectorType, GetConnectorType(InternalConnectorType)); properties.Add(SmbiosProperty.PortConnector.ExternalReferenceDesignator, ExternalReference); properties.Add(SmbiosProperty.PortConnector.ExternalConnectorType, GetConnectorType(ExternalConnectorType)); properties.Add(SmbiosProperty.PortConnector.PortType, GetPortType(PortType)); }
/// <inheritdoc/> /// <summary> /// Populates the property collection for this structure. /// </summary> /// <param name="properties">Collection of properties of this structure.</param> protected override void PopulateProperties(SmbiosPropertiesTable properties) { int count = Count; if (count != 0) { properties.Add(SmbiosProperty.SystemConfigurationOptions.Values, GetValues(count)); } }
/// <inheritdoc/> /// <summary> /// Populates the property collection for this structure. /// </summary> /// <param name="properties">Collection of properties of this structure.</param> protected override void PopulateProperties(SmbiosPropertiesTable properties) { int count = Count; if (count != 0) { properties.Add(SmbiosProperty.OemStrings.Values, GetValues(count)); } }
/// <inheritdoc/> /// <summary> /// Populates the property collection for this structure. /// </summary> /// <param name="properties">Collection of properties of this structure.</param> protected override void PopulateProperties(SmbiosPropertiesTable properties) { if (StructureInfo.StructureVersion < SmbiosStructureVersion.Latest) { return; } properties.Add(SmbiosProperty.SystemBoot.BootStatus, GetBootStatus(BootStatus)); }
/// <inheritdoc/> /// <summary> /// Populates the property collection for this structure. /// </summary> /// <param name="properties">Collection of properties of this structure.</param> protected override void PopulateProperties(SmbiosPropertiesTable properties) { #region 2.0+ if (StructureInfo.StructureVersion >= SmbiosStructureVersion.v20) { properties.Add(SmbiosProperty.SystemSlots.SlotDesignation, SlotDesignation); properties.Add(SmbiosProperty.SystemSlots.SlotType, GetSlotType(SlotType)); properties.Add(SmbiosProperty.SystemSlots.SlotDataBusWidth, GetDataBusWidth(DataWidth)); properties.Add(SmbiosProperty.SystemSlots.CurrentUsage, GetCurrentUsage(CurrentUsage)); properties.Add(SmbiosProperty.SystemSlots.SlotLength, GetLength(Length)); properties.Add(SmbiosProperty.SystemSlots.SlotId, GetId(SlotType, Adapter, Socket)); properties.Add(SmbiosProperty.SystemSlots.Characteristics, GetCharacteristics(Characteristics1, 0xff)); } #endregion #region 2.1+ if (StructureInfo.StructureVersion >= SmbiosStructureVersion.v21) { properties[SmbiosProperty.SystemSlots.Characteristics] = GetCharacteristics(Characteristics1, Characteristics2); } #endregion #region 2.6+ if (StructureInfo.StructureVersion >= SmbiosStructureVersion.v26) { properties.Add(SmbiosProperty.SystemSlots.SegmentBusFunction, GetSegmentBusFunction(SegmentBusFunction)); properties.Add(SmbiosProperty.SystemSlots.BusDeviceFunction, GetBusDeviceFunction(Bus, Device, Function)); } #endregion #region 3.2 if (StructureInfo.StructureVersion >= SmbiosStructureVersion.v32) { var slotType = GetSlotType(SlotType).ToLowerInvariant(); var canEvaluate = slotType.Contains("agp") || slotType.Contains("pci"); if (canEvaluate) { IEnumerable <PeerDevice> peersDevices = GetPeerElements(RawGroups); properties.Add(SmbiosProperty.SystemSlots.PeerDevices, new PeerDevicesCollection(peersDevices)); } } #endregion #region 3.4 if (StructureInfo.StructureVersion >= SmbiosStructureVersion.v34) { if (SlotType == 0xC4) { properties.Add(SmbiosProperty.SystemSlots.SlotInformation, $"PCI Express Generation {SlotInformation}"); } properties.Add(SmbiosProperty.SystemSlots.SlotPhysicalWidth, GetDataBusWidth(DataWidth)); properties.Add(SmbiosProperty.SystemSlots.SlotPitch, SlotPitch); } #endregion }
/// <inheritdoc/> /// <summary> /// Populates the property collection for this structure. /// </summary> /// <param name="properties">Collection of properties of this structure.</param> protected override void PopulateProperties(SmbiosPropertiesTable properties) { if (StructureInfo.StructureVersion < SmbiosStructureVersion.v20) { return; } properties.Add(SmbiosProperty.BiosLanguage.InstallableLanguages, GetValues(Count)); properties.Add(SmbiosProperty.BiosLanguage.IsCurrentAbbreviated, IsCurrentAbbreviated); properties.Add(SmbiosProperty.BiosLanguage.Current, Current); }
/// <inheritdoc/> /// <summary> /// Populates the property collection for this structure. /// </summary> /// <param name="properties">Collection of properties of this structure.</param> protected override void PopulateProperties(SmbiosPropertiesTable properties) { properties.Add(SmbiosProperty.GroupAssociations.GroupName, GroupName); int n = (StructureInfo.Length - 5) / 3; byte[] containedElementsArray = StructureInfo.RawData.Extract(0x05, n * 3).ToArray(); IEnumerable <GroupAssociationElement> containedElements = GetContainedElements(containedElementsArray, n); properties.Add(SmbiosProperty.GroupAssociations.ContainedElements, new GroupAssociationElementCollection(containedElements)); }
/// <inheritdoc/> /// <summary> /// Populates the property collection for this structure. /// </summary> /// <param name="properties">Collection of properties of this structure.</param> protected override void PopulateProperties(SmbiosPropertiesTable properties) { if (StructureInfo.StructureVersion < SmbiosStructureVersion.Latest) { return; } properties.Add(SmbiosProperty.BootIntegrityServicesEntryPoint.Checksum, Checksum); properties.Add(SmbiosProperty.BootIntegrityServicesEntryPoint.BisEntryPointAddress16, BisEntryPointAddress16); properties.Add(SmbiosProperty.BootIntegrityServicesEntryPoint.BisEntryPointAddress32, BisEntryPointAddress32); }
/// <inheritdoc/> /// <summary> /// Populates the property collection for this structure. /// </summary> /// <param name="properties">Collection of properties of this structure.</param> protected override void PopulateProperties(SmbiosPropertiesTable properties) { if (StructureInfo.StructureVersion < SmbiosStructureVersion.v21) { return; } properties.Add(SmbiosProperty.BuiltInPointingDevice.NumberOfButtons, NumberOfButtons); properties.Add(SmbiosProperty.BuiltInPointingDevice.Type, GetDeviceType(DeviceType)); properties.Add(SmbiosProperty.BuiltInPointingDevice.Interface, GetDeviceInterface(Interface)); }
/// <inheritdoc/> /// <summary> /// Populates the property collection for this structure. /// </summary> /// <param name="properties">Collection of properties of this structure.</param> protected override void PopulateProperties(SmbiosPropertiesTable properties) { if (StructureInfo.StructureVersion < SmbiosStructureVersion.Latest) { return; } properties.Add(SmbiosProperty.OutOfBandRemote.Manufacturer, ManufacturerName); properties.Add(SmbiosProperty.OutOfBandRemote.Connections.OutBoundConnection, OutBoundConnection); properties.Add(SmbiosProperty.OutOfBandRemote.Connections.InBoundConnection, InBoundConnection); }
/// <inheritdoc/> /// <summary> /// Populates the property collection for this structure. /// </summary> /// <param name="properties">Collection of properties of this structure.</param> protected override void PopulateProperties(SmbiosPropertiesTable properties) { if (StructureInfo.StructureVersion < SmbiosStructureVersion.Latest) { return; } properties.Add(SmbiosProperty.OnBoardDevicesExtended.ReferenceDesignation, ReferenceDesignation); properties.Add(SmbiosProperty.OnBoardDevicesExtended.Element.DeviceStatus, DeviceStatus); properties.Add(SmbiosProperty.OnBoardDevicesExtended.Element.DeviceType, GetDeviceType(DeviceType)); }
/// <inheritdoc/> /// <summary> /// Populates the property collection for this structure. /// </summary> /// <param name="properties">Collection of properties of this structure.</param> protected override void PopulateProperties(SmbiosPropertiesTable properties) { if (StructureInfo.StructureVersion < SmbiosStructureVersion.Latest) { return; } properties.Add(SmbiosProperty.HardwareSecurity.HardwareSecuritySettings.FrontPanelResetStatus, GetSettings(FrontPanelResetStatus)); properties.Add(SmbiosProperty.HardwareSecurity.HardwareSecuritySettings.AdministratorPasswordStatus, GetSettings(AdministratorPasswordStatus)); properties.Add(SmbiosProperty.HardwareSecurity.HardwareSecuritySettings.KeyboardPasswordStatus, GetSettings(KeyboardPasswordStatus)); properties.Add(SmbiosProperty.HardwareSecurity.HardwareSecuritySettings.PowerOnPasswordStatus, GetSettings(PowerOnPasswordStatus)); }
/// <inheritdoc/> /// <summary> /// Populates the property collection for this structure. /// </summary> /// <param name="properties">Collection of properties of this structure.</param> protected override void PopulateProperties(SmbiosPropertiesTable properties) { if (StructureInfo.StructureVersion < SmbiosStructureVersion.Latest) { return; } properties.Add(SmbiosProperty.ManagementDeviceComponent.Description, Description); properties.Add(SmbiosProperty.ManagementDeviceComponent.ComponentHandle, ComponentHandle); properties.Add(SmbiosProperty.ManagementDeviceComponent.ThresholdHandle, ThresholdHandle); properties.Add(SmbiosProperty.ManagementDeviceComponent.ManagementDeviceHandle, ManagementDeviceHandle); }
/// <inheritdoc/> /// <summary> /// Populates the property collection for this structure. /// </summary> /// <param name="properties">Collection of properties of this structure.</param> protected override void PopulateProperties(SmbiosPropertiesTable properties) { if (StructureInfo.StructureVersion < SmbiosStructureVersion.Latest) { return; } properties.Add(SmbiosProperty.ManagementDevice.Description, Description); properties.Add(SmbiosProperty.ManagementDevice.Type, GetDeviceType(Type)); properties.Add(SmbiosProperty.ManagementDevice.Address, Address); properties.Add(SmbiosProperty.ManagementDevice.AddressType, GetDeviceAddressType(AddressType)); }
/// <inheritdoc/> /// <summary> /// Populates the property collection for this structure. /// </summary> /// <param name="properties">Collection of properties of this structure.</param> protected override void PopulateProperties(SmbiosPropertiesTable properties) { if (StructureInfo.StructureVersion < SmbiosStructureVersion.Latest) { return; } properties.Add(SmbiosProperty.SystemPowerControls.Month, Month); properties.Add(SmbiosProperty.SystemPowerControls.Day, Day); properties.Add(SmbiosProperty.SystemPowerControls.Hour, Hour); properties.Add(SmbiosProperty.SystemPowerControls.Minute, Minute); properties.Add(SmbiosProperty.SystemPowerControls.Second, Second); }
/// <inheritdoc/> /// <summary> /// Populates the property collection for this structure. /// </summary> /// <param name="properties">Collection of properties of this structure.</param> protected override void PopulateProperties(SmbiosPropertiesTable properties) { #region version 3.5 if (StructureInfo.StructureVersion >= SmbiosStructureVersion.v35) { properties.Add(SmbiosProperty.StringProperty.PropertyId, GetPropertyId(PropertyId)); properties.Add(SmbiosProperty.StringProperty.PropertyValue, PropertyValue); properties.Add(SmbiosProperty.StringProperty.ParentHandle, ParentHandle); } #endregion }
/// <inheritdoc/> /// <summary> /// Populates the property collection for this structure. /// </summary> /// <param name="properties">Collection of properties of this structure.</param> protected override void PopulateProperties(SmbiosPropertiesTable properties) { if (StructureInfo.StructureVersion < SmbiosStructureVersion.Latest) { return; } properties.Add(SmbiosProperty.ManagementDeviceThresholdData.LowerNonCritical, LowerNonCritical); properties.Add(SmbiosProperty.ManagementDeviceThresholdData.UpperNonCritical, UpperNonCritical); properties.Add(SmbiosProperty.ManagementDeviceThresholdData.LowerCritical, LowerCritical); properties.Add(SmbiosProperty.ManagementDeviceThresholdData.UpperCritical, UpperCritical); properties.Add(SmbiosProperty.ManagementDeviceThresholdData.LowerNonRecoverable, LowerNonRecoverable); properties.Add(SmbiosProperty.ManagementDeviceThresholdData.UpperNonRecoverable, UpperNonRecoverable); }
/// <inheritdoc/> /// <summary> /// Populates the property collection for this structure. /// </summary> /// <param name="properties">Collection of properties of this structure.</param> protected override void PopulateProperties(SmbiosPropertiesTable properties) { properties.Add(SmbiosProperty.ManagementControllerHostInterface.InterfaceType, GetInterfaceType(InterfaceType)); if (StructureInfo.Length >= 0x07) { properties.Add(SmbiosProperty.ManagementControllerHostInterface.InterfaceTypeSpecificData, InterfaceTypeSpecificData); } if (StructureInfo.Length >= 0x08 + InterfaceTypeSpecificDataLenght) { properties.Add(SmbiosProperty.ManagementControllerHostInterface.Protocols, new ManagementControllerHostInterfaceProtocolRecordsCollection(GetProtocolRecords())); } }
/// <inheritdoc/> /// <summary> /// Populates the property collection for this structure. /// </summary> /// <param name="properties">Collection of properties of this structure.</param> protected override void PopulateProperties(SmbiosPropertiesTable properties) { properties.Add(SmbiosProperty.BaseBoard.Manufacturer, Manufacturer); properties.Add(SmbiosProperty.BaseBoard.Product, Product); properties.Add(SmbiosProperty.BaseBoard.Version, Version); properties.Add(SmbiosProperty.BaseBoard.SerialNumber, SerialNumber); if (StructureInfo.Length >= 0x09) { properties.Add(SmbiosProperty.BaseBoard.AssetTag, AssetTag); } if (StructureInfo.Length >= 0x0a) { properties.Add(SmbiosProperty.BaseBoard.Features.IsHotSwappable, IsHotSwappable); properties.Add(SmbiosProperty.BaseBoard.Features.IsReplaceable, IsReplaceable); properties.Add(SmbiosProperty.BaseBoard.Features.IsRemovable, IsRemovable); properties.Add(SmbiosProperty.BaseBoard.Features.RequiredDaughterBoard, RequiredDaughterBoard); properties.Add(SmbiosProperty.BaseBoard.Features.IsHostingBoard, IsHostingBoard); } if (StructureInfo.Length >= 0x0b) { properties.Add(SmbiosProperty.BaseBoard.LocationInChassis, LocationInChassis); } if (StructureInfo.Length >= 0x0c) { properties.Add(SmbiosProperty.BaseBoard.ChassisHandle, ChassisHandle); } if (StructureInfo.Length >= 0x0d) { properties.Add(SmbiosProperty.BaseBoard.BoardType, GetBoardType(BoardType)); } if (StructureInfo.Length >= 0x0e) { byte n = NumberOfContainedObjectHandles; properties.Add(SmbiosProperty.BaseBoard.NumberOfContainedObjectHandles, n); if (n != 0x00 && StructureInfo.Length >= 0x0f) { byte[] containedElementsArray = StructureInfo.RawData.Extract((byte)0x0f, n).ToArray(); IEnumerable <SmbiosStructure> containedElements = GetContainedElements(containedElementsArray); properties.Add(SmbiosProperty.BaseBoard.ContainedElements, new BaseBoardContainedElementCollection(containedElements)); } } }
/// <inheritdoc/> /// <summary> /// Populates the property collection for this structure. /// </summary> /// <param name="properties">Collection of properties of this structure.</param> protected override void PopulateProperties(SmbiosPropertiesTable properties) { if (StructureInfo.StructureVersion <= SmbiosStructureVersion.Latest) { return; } properties.Add(SmbiosProperty.MemoryModule.SocketDesignation, SocketDesignation); properties.Add(SmbiosProperty.MemoryModule.BankConnections, GetBankConnections(BankConnections)); properties.Add(SmbiosProperty.MemoryModule.CurrentSpeed, GetMemorySpeeds(CurrentSpeed)); properties.Add(SmbiosProperty.MemoryModule.CurrentMemoryType, GetCurrentMemoryTypes(CurrentMemoryType)); properties.Add(SmbiosProperty.MemoryModule.InstalledSize, GetSize(InstalledSize)); properties.Add(SmbiosProperty.MemoryModule.EnabledSize, GetSize(EnabledSize)); properties.Add(SmbiosProperty.MemoryModule.ErrorStatus, GetErrorStatus(ErrorStatus)); }
/// <inheritdoc/> /// <summary> /// Populates the property collection for this structure. /// </summary> /// <param name="properties">Collection of properties of this structure.</param> protected override void PopulateProperties(SmbiosPropertiesTable properties) { if (StructureInfo.StructureVersion < SmbiosStructureVersion.v21) { return; } properties.Add(SmbiosProperty.BitMemoryError32.ErrorType, GetErrorType(ErrorType)); properties.Add(SmbiosProperty.BitMemoryError32.ErrorGranularity, GetErrorGranularity(ErrorGranularity)); properties.Add(SmbiosProperty.BitMemoryError32.ErrorOperation, GetErrorOperation(ErrorOperation)); properties.Add(SmbiosProperty.BitMemoryError32.VendorSyndrome, CrcData); properties.Add(SmbiosProperty.BitMemoryError32.MemoryArrayErrorAddress, BusErrorAddress); properties.Add(SmbiosProperty.BitMemoryError32.DeviceErrorAddress, DeviceErrorAddress); properties.Add(SmbiosProperty.BitMemoryError32.ErrorResolution, ErrorResolution); }
/// <inheritdoc/> /// <summary> /// Populates the property collection for this structure. /// </summary> /// <param name="properties">Collection of properties of this structure.</param> protected override void PopulateProperties(SmbiosPropertiesTable properties) { if (StructureInfo.StructureVersion < SmbiosStructureVersion.Latest) { return; } properties.Add(SmbiosProperty.SystemReset.ResetCount, ResetCount); properties.Add(SmbiosProperty.SystemReset.ResetLimit, ResetLimit); properties.Add(SmbiosProperty.SystemReset.TimerInterval, TimerInterval); properties.Add(SmbiosProperty.SystemReset.Timeout, TimeOut); properties.Add(SmbiosProperty.SystemReset.Capabilities.Status, Status); properties.Add(SmbiosProperty.SystemReset.Capabilities.BootOption, GetBootOption(BootOption)); properties.Add(SmbiosProperty.SystemReset.Capabilities.BootOptionOnLimit, GetBootOption(BootOptionOnLimit)); properties.Add(SmbiosProperty.SystemReset.Capabilities.WatchdogTimer, WatchdogTimer); }