home *** CD-ROM | disk | FTP | other *** search
- {*******************************************************}
- { }
- { MiTeC System Information Component }
- { SMBIOS Detection Part }
- { version 8.4 for Delphi 5,6,7 }
- { }
- { Copyright ⌐ 1997,2003 Michal Mutl }
- { }
- {*******************************************************}
-
- {$INCLUDE MITEC_DEF.INC}
-
- unit MSI_SMBIOS;
-
- interface
-
- uses MSI_Common, Windows, Classes, SysUtils, MSI_DMA;
-
- const
- addr_BIOSBegin = $000F0000;
- addr_BIOSEnd = $000FFFFF;
-
- const
- SMB_BIOSINFO = 0 ; // BIOS Information
- SMB_SYSINFO = 1 ; // System Information
- SMB_BASEINFO = 2 ; // Base Board Information
- SMB_SYSENC = 3 ; // System Enclosure or Chassis
- SMB_CPU = 4 ; // Processor Information
- SMB_MEMCTRL = 5 ; // Memory Controller Information
- SMB_MEMMOD = 6 ; // Memory Module Information
- SMB_CACHE = 7 ; // Cache Information
- SMB_PORTCON = 8 ; // Port Connector Information
- SMB_SLOTS = 9 ; // System Slots
- SMB_ONBOARD = 10 ; // On Board Devices Information
- SMB_OEMSTR = 11 ; // OEM Strings
- SMB_SYSCFG = 12 ; // System Configuration Options
- SMB_LANG = 13 ; // BIOS Language Information
- SMB_GRP = 14 ; // Group Associations
- SMB_EVENT = 15 ; // System Event Log
- SMB_PHYSMEM = 16 ; // Physical Memory Array
- SMB_MEMDEV = 17 ; // Memory Device
- SMB_MEMERR32 = 18 ; // 32-bit Memory Error Information
- SMB_MEMMAP = 19 ; // Memory Array Mapped Address
- SMB_MEMDEVMAP= 20 ; // Memory Device Mapped Address
- SMB_POINTER = 21 ; // Built-in Pointing Device
- SMB_BATTERY = 22 ; // Portable Battery
- SMB_RESET = 23 ; // System Reset
- SMB_SECURITY = 24 ; // Hardware Security
- SMB_POWER = 25 ; // System Power Controls
- SMB_VOLTAGE = 26 ; // Voltage Probe
- SMB_COOL = 27 ; // Cooling Device
- SMB_TEMP = 28 ; // Tempature Probe
- SMB_CURRENT = 29 ; // Electrical Current Probe
- SMB_OOBREM = 30 ; // Out-of-Band Remote Access
- SMB_BIS = 31 ; // Boot Integrity Services (BIS) Entry Point
- SMB_SYSBOOT = 32 ; // System Boot Information
- SMB_MEMERR64 = 33 ; // 64-bit Memory Error Information
- SMB_MGT = 34 ; // Management Device
- SMB_MGTCMP = 35 ; // Management Device Component
- SMB_MGTTHR = 36 ; // Management Device Threshold Data
- SMB_MEMCHAN = 37 ; // Memory Channel
- SMB_IPMI = 38 ; // IPMI Device Information
- SMB_SPS = 39 ; // System Power Supply
- SMB_INACTIVE = 126 ; // Inactive
- SMB_EOT = 127 ; // End-of-Table
-
- SMB_TableTypes: array[0..41] of record Typ: Byte; Name: string end = (
- (Typ: SMB_BIOSINFO; Name: 'BIOS Information'),
- (Typ: SMB_SYSINFO; Name: 'System Information'),
- (Typ: SMB_BASEINFO; Name: 'Base Board Information'),
- (Typ: SMB_SYSENC; Name: 'System Enclosure or Chassis'),
- (Typ: SMB_CPU; Name: 'Processor Information'),
- (Typ: SMB_MEMCTRL; Name: 'Memory Controller Information'),
- (Typ: SMB_MEMMOD; Name: 'Memory Module Information'),
- (Typ: SMB_CACHE; Name: 'Cache Information'),
- (Typ: SMB_PORTCON; Name: 'Port Connector Information'),
- (Typ: SMB_SLOTS; Name: 'System Slots'),
- (Typ: SMB_ONBOARD; Name: 'On Board Devices Information'),
- (Typ: SMB_OEMSTR; Name: 'OEM Strings'),
- (Typ: SMB_SYSCFG; Name: 'System Configuration Options'),
- (Typ: SMB_LANG; Name: 'BIOS Language Information'),
- (Typ: SMB_GRP; Name: 'Group Associations'),
- (Typ: SMB_EVENT; Name: 'System Event Log'),
- (Typ: SMB_PHYSMEM; Name: 'Physical Memory Array'),
- (Typ: SMB_MEMDEV; Name: 'Memory Device'),
- (Typ: SMB_MEMERR32; Name: '32-bit Memory Error Information'),
- (Typ: SMB_MEMMAP; Name: 'Memory Array Mapped Address'),
- (Typ: SMB_MEMDEVMAP; Name: 'Memory Device Mapped Address'),
- (Typ: SMB_POINTER; Name: 'Built-in Pointing Device'),
- (Typ: SMB_BATTERY; Name: 'Portable Battery'),
- (Typ: SMB_RESET; Name: 'System Reset'),
- (Typ: SMB_SECURITY; Name: ' Hardware Security'),
- (Typ: SMB_POWER; Name: 'System Power Controls'),
- (Typ: SMB_VOLTAGE; Name: 'Voltage Probe'),
- (Typ: SMB_COOL; Name: ' Cooling Device'),
- (Typ: SMB_TEMP; Name: 'Temperature Probe'),
- (Typ: SMB_CURRENT; Name: 'Electrical Current Probe'),
- (Typ: SMB_OOBREM; Name: 'Out-of-Band Remote Access'),
- (Typ: SMB_BIS; Name: 'Boot Integrity Services (BIS) Entry Point'),
- (Typ: SMB_SYSBOOT; Name: 'System Boot Information'),
- (Typ: SMB_MEMERR64; Name: '64-bit Memory Error Information'),
- (Typ: SMB_MGT; Name: 'Management Device'),
- (Typ: SMB_MGTCMP; Name: 'Management Device Component'),
- (Typ: SMB_MGTTHR; Name: 'Management Device Threshold Data'),
- (Typ: SMB_MEMCHAN; Name: 'Memory Channel'),
- (Typ: SMB_IPMI; Name: 'IPMI Device Information'),
- (Typ: SMB_SPS; Name: 'System Power Supply'),
- (Typ: SMB_INACTIVE; Name: 'Inactive'),
- (Typ: SMB_EOT; Name: 'End-of-Table'));
-
- type
- TStructTable = record
- Address: DWORD;
- Indicator: Byte;
- Length: Byte;
- Handle: Word;
- Name: shortstring;
- end;
-
- TStructTables = array of TStructTable;
-
- TChassis = (smchOther, smchUnknown, smchDesktop, smchLowProfileDesktop, smchPizzaBox,
- smchMiniTower, smchTower, smchPortable, smchLapTop, smchNotebook, smchHandHeld,
- smchDockingStation, smchAllInOne, smchSubNotebook, smchSpaceSaving, smchLunchBox,
- smchMainServer, smchExpansion, smchSubChassis, smchBusExpansion, smchPeripheral,
- smchRAID, smchRackMount, smchSealedCasePC, smchMultiSystem);
-
- TInterleaveSupport = (smisOther, smisUnknown, smisOnewWay, smisTwoWay, smisFourWay, smisEightWay, smisSixteenWay);
-
- TVoltage = (smv5V, smv33V, smv29V);
-
- TVoltages = set of TVoltage;
-
- TMemorySpeed = (smmsOther, smmsUnknown, smms70ns, smms60ns, smms50ns);
-
- TMemorySpeeds = set of TMemorySpeed;
-
- TMemoryType = (smmtOther, smmtUnknown, smmtStandard, smmtFastPageMode, smmtEDO,
- smmtParity, smmtECC, smmtSIMM, smmtDIMM, smmtBurstEDO, smmtSDRAM);
-
- TMemoryTypes = set of TMemoryType;
-
- TMemoryFormFactor = (smffOther, smffUnknown, smffSIMM, smffSIP,
- smffChip, smffDIP, smffZIP, smffPropCard, smffDIMM, smffTSOP,
- smffRowChip, smffRIMM, smffSODIMM, smffSRIMM);
-
- TMemoryDeviceType = (smmdOther, smmdUnknown, smmdDRAM, smmdEDRAM, smmdVRAM, smmdSRAM,
- smmdRAM,smmdROM, smmdFLASH, smmdEEPROM, smmdFEPROM, smmdEPROM,
- smmdCDRAM, smmd3DRAM, smmdSDRAM, smmdSGRAM, smmdRDRAM, smmdDDR);
-
- TMemoryTypeDetail = (mtdReserved, mtdOther, mtdUnknown, mtdFastPaged, mtdStaticColumn,
- mtdPseudoStatic, mtdRAMBUS, mtdSynchronous, mtdCMOS, mtdEDO,
- mtdWindowDRAM, mtdCacheDRAM, mtdNonVolatile);
-
- TMemoryTypeDetails = set of TMemoryTypeDetail;
-
- TUpgrade = (smuOther, smuUnknown, smuDaughterBoard, smuZIFSocket, smuReplaceablePiggyBack,
- smuNone, smuLIFSocket, smuSlot1, smuSlot2, smu370pinSocket, smuSlotA,
- smuSlotM, smuSocket423, smuSocketA, smuSocket478, smuSocket754, smuSocket940);
-
- TProcessor = record
- Socket,
- Manufacturer,
- Version: shortstring;
- Upgrade: TUpgrade;
- Voltage: double;
- Frequency,
- ExternalClock: WORD;
- SerialNumber,
- AssetTag,
- PartNumber: shortstring;
- end;
-
- TMemoryModule = record
- Socket: shortstring;
- Speed: Word;
- Size: DWORD;
- Types: TMemoryTypes;
- end;
-
- TMemoryDevice = record
- TotalWidth,
- DataWidth,
- Size: Word;
- FormFactor: TMemoryFormFactor;
- DeviceLocator,
- BankLocator: ShortString;
- Device: TMemoryDeviceType;
- TypeDetails: TMemoryTypeDetails;
- Speed: Word;
- Manufacturer,
- SerialNumber,
- AssetTag,
- PartNumber: ShortString;
- end;
-
- TConnectorType = (smctNone, smctCentronics, smctMiniCentronics, smctProprietary,
- smctDB25PinMale, smctDB25PinFemale, smctDB15PinMale, smctDB15PinFemale,
- smctDB9PinMale, smctDB9PinFemale, smctRJ11, smctRJ45, smct50PinMiniSCSI,
- smctMiniDIN, smctMicroDIN, smctPS2, smctInfrared, smctHPHIL,
- smctAccessBus, smctSSASCSI, smctCircularDIN8Male, smctCircularDIN8Female,
- smctOnBoardIDE, smctOnBoardFloppy, smct9PinDualInline, smct25PinDualInline,
- smct50PinDualInline, smct68PinDualInline, smctOnBoardSoundInputFromCDROM,
- smctMiniCentronicsType14, smctMiniCentronicsType26, smctMiniJack,
- smctBNC, smct1394, smctPC98, smctPC98Hireso, smctPCH98, smctPC98Note,
- smctPC98Full, smctOther);
-
- TPortType = (smptNone, smptParallelXTAT, smptParallelPS2, smptParallelECP,
- smptParallelEPP, smptParallelECPEPP, smptSerialXTAT,
- smptSerial16450, smptSerial16550, smptSerial16550A,
- smptSCSI, smptMIDI, smptJoyStick, smptKeyboard, smptMouse, smptSSASCSI,
- smptUSB, smptFireWire, smptPCMCIA2, smptPCMCIA2A, smptPCMCIA3, smptCardbus,
- smptAccessBus, smptSCSI2, smptSCSIWide, smptPC98, smptPC98Hireso, smptPCH98,
- smptVideo, smptAudio, smptModem, smptNetwork, smpt8251, smpt8251FIFO, smptOther);
-
- TPort = record
- InternalDesignator,
- ExternalDesignator: shortstring;
- InternalConnector,
- ExternalConnector: TConnectorType;
- Typ: TPortType;
- end;
-
- TSlotType = (smstOther, smstUnknown, smstISA, smstMCA, smstEISA, smstPCI, smstPCMCIA,
- smstVLVESA, smstProprietary, smstProcessorCard, smstProprietaryMemoryCard,
- smstIORiserCard, smstNuBus, smstPCI66MHz, smstAGP, smstAGP2X, smstAGP4X,
- smstPCIX, smstAGP8X,
- smstPC98C20, smstPC98C24, smstPC98E, smstPC98LocalBus, smstPC98Card);
-
- TDataBusType = (smdbOther, smdbUnknown, smdb8bit, smdb16bit, smdb32bit, smdb64bit, smdb128bit);
-
- TSlotUsage = (smsuOther, smsuUnknown, smsuAvailable, smsuInUse);
-
- TSlotLength = (smslOther, smslUnknown, smslShort, smslLong);
-
- TSlot = record
- Designation: shortstring;
- Typ: TSlotType;
- DataBus: TDataBusType;
- ID: WORD;
- Usage: TSlotUsage;
- Length: TSlotLength;
- end;
-
- TSRAMType = (sramOther, sramUnknown, sramNonBurst, sramBurst,
- sramPipelineBurst, sramSync, sramAsync);
-
- TCacheType = (ctOther, ctUnknown, ctInstruction, ctData, ctUnified);
-
- TCacheAssociativity = (caOther, caUnknown, caDirectMapped, ca2way, ca4way, caFull, ca8way, ca16way);
-
- TCache = record
- Designation: shortstring;
- MaxSize, InstalledSize: Word;
- SRAMType: TSRAMType;
- Typ: TCacheType;
- Associativity: TCacheAssociativity;
- Speed: Word;
- end;
-
- TOnBoardDeviceType = (obdOther, obdUnknown, obdAudio, obdSCSICrl, obdEthernet, obdTokenRing, obdSound);
-
- TOnBoardDevice = record
- DeviceName: string;
- Typ: TOnBoardDeviceType;
- Status: boolean;
- end;
-
- TLocationType = (ltOther, ltUnknown, ltProcessor, ltDisk, ltPeripheralBay, ltSMM, ltMB,
- ltProcessorModule, ltPowerUnit, ltAddInCard, ltFrontPanelBoard, ltBackPanelBoard,
- ltPowerSystemBoard, ltDriveBackPlane);
-
- TStatusType = (stOther, stUnknown, stOK, stNonCritical, stCritical, stNonRecoverable);
-
- TTemperatureProbe = record
- Description: shortstring;
- Location: TLocationType;
- Status: TStatusType;
- Min,Max: Word;
- Resolution,
- Tolerance,
- Accuracy: Word;
- Value: Word;
- end;
-
- const
- ChassisTypes: array[TChassis] of string = ('Other','Unknown','Desktop','Low Profile Desktop','Pizza Box',
- 'Mini Tower','Tower','Portable','LapTop','Notebook','Hand Held',
- 'Docking Station','All in One','SubNotebook','Space-Saving','Lunch Box',
- 'Main Server Chassis','Expansion Chassis','SubChassis','Bus Expansion Chassis','Peripheral Chassis',
- 'RAID Chassis','Rack-Mount Chassis','Sealed-case PC','Multi-system Chassis');
-
- InterleaveSupports: array[TInterleaveSupport] of string = ('Other','Unknown','1-Way','2-Way','4-Way','8-Way','16-Way');
-
- Voltages: array[TVoltage] of string = ('5V','3.3V','2.9V');
-
- MemorySpeeds: array[TMemorySpeed] of string = ('Other','Unknown','70ns','60ns','50ns');
-
- Upgrades: array[TUpgrade] of string = ('Other','Unknown','Daughter Board','ZIF Socket','Replaceable Piggy Back',
- 'None','LIF Socket','Slot 1','Slot 2','370-pin Socket','Slot A',
- 'Slot M','Socket 423', 'Socket A (Socket 462)','Socket 478','Socket 754','Socket 940');
-
- MemoryFormFactors: array[TMemoryFormFactor] of string = ('Other','Unknown','SIMM','SIP',
- 'Chip','DIP','ZIP','PropCard','DIMM','TSOP','RowChip','RIMM','SODIMM','SRIMM');
-
- MemoryDeviceTypes: array[TMemoryDeviceType] of string = ('Other','Unknown','DRAM','EDRAM',
- 'VRAM','SRAM','RAM','ROM','FLASH','EEPROM','FEPROM','EPROM','CDRAM','3DRAM','SDRAM',
- 'SGRAM','RDRAM','DDR');
-
- MemoryTypes: array[TMemoryType] of string = ('Other','Unknown','Standard','Fast Page Mode','EDO',
- 'Parity','ECC','SIMM','DIMM','Burst EDO','SDRAM');
-
- MemoryTypeDetails: array[TMemoryTypeDetail] of string = ('Reserved', 'Other', 'Unknown', 'FastPaged',
- 'StaticColumn', 'PseudoStatic', 'RAMBUS', 'Synchronous', 'CMOS', 'EDO',
- 'WindowDRAM', 'CacheDRAM', 'NonVolatile');
-
- ConnectorTypes: array[TConnectorType] of string = (
- 'None','Centronics','Mini Centronics','Proprietary','DB-25 pin male','DB-25 pin female',
- 'DB-15 pin male','DB-15 pin female','DB-9 pin male','DB-9 pin female','RJ-11','RJ-45',
- '50 Pin MiniSCSI','Mini-DIN','Micro-DIN','PS/2','Infrared','HP-HIL','Access Bus (USB)',
- 'SSA SCSI','Circular DIN-8 male','Circular DIN-8 female','On Board IDE','On Board Floppy',
- '9 Pin Dual Inline (pin 10 cut)','25 Pin Dual Inline (pin 26 cut)','50 Pin Dual Inline',
- '68 Pin Dual Inline','On Board Sound Input from CD-ROM','Mini-Centronics Type-14',
- 'Mini-Centronics Type-26','Mini-jack (headphones)','BNC','1394','PC-98','PC-98Hireso',
- 'PC-H98','PC-98Note','PC-98Full','Other'
- );
-
- PortTypes: array[TPortType] of string = (
- 'None','Parallel Port XT/AT Compatible','Parallel Port PS/2','Parallel Port ECP',
- 'Parallel Port EPP','Parallel Port ECP/EPP','Serial Port XT/AT Compatible',
- 'Serial Port 16450 Compatible','Serial Port 16550 Compatible','Serial Port 16550A Compatible',
- 'SCSI Port','MIDI Port','Joy Stick Port','Keyboard Port','Mouse Port','SSA SCSI',
- 'USB','FireWire (IEEE P1394)','PCMCIA Type II','PCMCIA Type II','PCMCIA Type III',
- 'Cardbus','Access Bus Port','SCSI II','SCSI Wide','PC-98','PC-98-Hireso','PC-H98',
- 'Video Port','Audio Port','Modem Port','Network Port','8251 Compatible',
- '8251 FIFO Compatible','Other'
- );
-
- SlotTypes: array[TSlotType] of string = (
- 'Other','Unknown','ISA','MCA','EISA','PCI','PC Card (PCMCIA)','VL-VESA','Proprietary',
- 'Processor Card Slot','Proprietary Memory Card','I/O Riser Card Slot','NuBus',
- 'PCI - 66MHz Capable','AGP','AGP 2X','AGP 4X','PCI-X','AGP 8X', 'PC-98/C20','PC-98/C24','PC-98/E',
- 'PC-98/Local Bus','PC-98/Card'
- );
-
- DataBusTypes: array[TDataBusType] of string = (
- 'Other','Unknown','8 bit','16 bit','32 bit','64 bit','128 bit'
- );
-
- SlotUsages: array[TSlotUsage] of string = ('Other','Unknown','Available','InUse');
-
- SlotLengths: array[TSlotLength] of string = ('Other','Unknown','Short','Long');
-
- SRAMTypes: array[TSRAMType] of string = (
- 'Other', 'Unknown','Non-Burst','Burst','Pipeline Burst','Synchronous','Asynchronous'
- );
-
- CacheTypes: array[TCacheType] of string = (
- 'Other','Unknown','Instruction','Data','Unified'
- );
-
- CacheAssociativities: array[TCacheAssociativity] of string = (
- 'Other','Unknown','Direct Mapped','2-way Set-Associative','4-way Set-Associative','Fully Associative',
- '8-way Set-Associative','16-way Set-Associative'
- );
-
- OnBoardDeviceTypes: array[TOnBoardDeviceType] of string = (
- 'Other', 'Unknown', 'Audio', 'SCSICrl', 'Ethernet', 'TokenRing', 'Sound');
-
- LocationTypes: array[TLocationType] of string = ('Other', 'Unknown', 'Processor', 'Disk', 'Peripheral Bay',
- 'System Managemeht Module', 'Motherboard', 'Processor Module', 'Power Unit', 'Add-In Card', 'Front Panel Board',
- 'Back Panel Board', 'Power System Board', 'Drive Back Plane');
-
- StatusTypes: array[TStatusType] of string = ('Other', 'Unknown', 'OK', 'Non-Critical', 'Critical', 'Non-Recoverable');
-
- type
- TSMBIOS = class(TPersistent)
- private
- FSMBIOS, FStructure: TDMA;
- FStart,
- FStructStart: DWORD;
- FMBMod: string;
- FSysMan: string;
- FSysMod: string;
- FBIOSdate: string;
- FVersion: string;
- FBIOSVendor: string;
- FBIOSVersion: string;
- FBIOSSize: DWORD;
- FSysVer: string;
- FSysSN: string;
- FMBSN: string;
- FMBMan: string;
- FMBVer: string;
- FCHSN: string;
- FCHVer: string;
- FCHMan: string;
- FCHMod: TChassis;
- FSysUUID: string;
- FProc: array of TProcessor;
- FMemMod: array of TMemoryModule;
- FMemDev: array of TMemoryDevice;
- FPort: array of TPort;
- FSlot: array of TSlot;
- FCache: array of TCache;
- FOBD: array of TOnBoardDevice;
- FTP: array of TTemperatureProbe;
- FTableCount: WORD;
- FLen: WORD;
- FRevision: string;
- {$IFNDEF D6PLUS}
- FDummy: Byte;
- {$ENDIF}
- FMCSC: Byte;
- FMCCI: TInterleaveSupport;
- FMCSI: TInterleaveSupport;
- FMCSS: TMemorySpeeds;
- FMCST: TMemoryTypes;
- FMCSV: TVoltages;
- FMCMS: WORD;
- FCHAT: string;
- FMajorVersion: Byte;
- FMinorVersion: Byte;
- FMBAT: string;
- FMBLIC: string;
- FModes: TExceptionModes;
- procedure ScanTables;
- procedure AddTable(Addr: DWORD; Ind,Len: Byte; Hndl: Word; var ST: TStructTables);
- function GetMemoryModule(Index: Byte): TMemoryModule;
- function GetMemModCount: Byte;
- function GetPort(Index: Byte): TPort;
- function GetPortCount: Byte;
- function GetSlot(Index: Byte): TSlot;
- function GetSlotCount: Byte;
- function GetCache(Index: Byte): TCache;
- function GetCacheCount: Byte;
- function GetProc(Index: Byte): TProcessor;
- function GetProcCount: Byte;
- function GetOBDCount: Byte;
- function GetOBD(Index: Byte): TOnBoardDevice;
- function GetTempProbe(Index: Byte): TTemperatureProbe;
- function GetTempProbeCount: Byte;
- procedure SetMode(const Value: TExceptionModes);
- function GetMemoryDevice(Index: Byte): TMemoryDevice;
- function GetMemDevCount: Byte;
- public
- StructTables: TStructTables;
-
- constructor Create;
- destructor Destroy; override;
-
- procedure GetInfo(Local: DWORD = 1);
- procedure Report(var sl: TStringList; Standalone: Boolean = True); virtual;
-
- function GetMemoryTypeStr(Value: TMemoryTypes): string;
- function GetMemorySpeedStr(Value: TMemorySpeeds): string;
- function GetMemoryVoltageStr(Value: TVoltages): string;
- function GetMemoryTypeDetailsStr(Value: TMemoryTypeDetails): string;
-
- function FindTableRecord(AType: Byte; ST: TStructTables; From: DWORD = 0): TStructTable;
- function FindTableIndex(AType: Byte; ST: TStructTables; From: DWORD = 0): Integer;
-
- procedure LoadSMBIOSFromFile(Filename: string);
-
- property BIOS_DMA: TDMA read FSMBIOS;
- property SMBIOS_DMA: TDMA read FStructure;
-
- property MajorVersion :Byte read FMajorVersion;
- property MinorVersion :Byte read FMinorVersion;
- property Version: string read FVersion;
- property Revision: string read FRevision;
- property SMBIOSAddress: DWORD read FStart;
- property StructStart: DWORD read FStructStart;
- property StructLength: WORD read FLen;
- property StructCount: WORD read FTableCount;
-
- property Processor[Index: Byte]: TProcessor read GetProc;
-
- property MemoryModule[Index: Byte]: TMemoryModule read GetMemoryModule;
-
- property MemoryDevice[Index: Byte]: TMemoryDevice read GetMemoryDevice;
-
- property Port[Index: Byte]: TPort read GetPort;
-
- property SystemSlot[Index: Byte]: TSlot read GetSlot;
-
- property Cache[Index: Byte]: TCache read GetCache;
-
- property OnBoardDevice[Index: Byte]: TOnBoardDevice read GetOBD;
-
- property TemperatureProbe[Index: Byte]: TTemperatureProbe read GetTempProbe;
- published
- property ExceptionModes: TExceptionModes read FModes Write SetMode;
- property SystemModel: string read FSysMod {$IFNDEF D6PLUS} write FSysMod {$ENDIF} stored False;
- property SystemManufacturer: string read FSysMan {$IFNDEF D6PLUS} write FSysMan {$ENDIF} stored False;
- property SystemVersion: string read FSysVer {$IFNDEF D6PLUS} write FSysVer {$ENDIF} stored False;
- property SystemSerial: string read FSysSN {$IFNDEF D6PLUS} write FSysSN {$ENDIF} stored False;
- property SystemUUID: string read FSysUUID {$IFNDEF D6PLUS} write FSysUUID {$ENDIF} stored False;
-
- property BIOSVendor: string read FBIOSVendor {$IFNDEF D6PLUS} write FBIOSVendor {$ENDIF} stored False;
- property BIOSVersion: string read FBIOSVersion {$IFNDEF D6PLUS} write FBIOSVersion {$ENDIF} stored False;
- property BIOSDate: string read FBIOSdate {$IFNDEF D6PLUS} write FBIOSDate {$ENDIF} stored False;
- property BIOSSize: DWORD read FBIOSSize {$IFNDEF D6PLUS} write FBIOSSize {$ENDIF} stored False;
-
- property MainBoardModel: string read FMBMod {$IFNDEF D6PLUS} write FMBMod {$ENDIF} stored False;
- property MainBoardManufacturer: string read FMBMan {$IFNDEF D6PLUS} write FMBMan {$ENDIF} stored False;
- property MainBoardVersion: string read FMBVer {$IFNDEF D6PLUS} write FMBVer {$ENDIF} stored False;
- property MainBoardSerial: string read FMBSN {$IFNDEF D6PLUS} write FMBSN {$ENDIF} stored False;
- property MainBoardAssetTag: string read FMBAT {$IFNDEF D6PLUS} write FMBAT {$ENDIF} stored False;
- property MainBoardLocationInChassis: string read FMBLIC {$IFNDEF D6PLUS} write FMBLIC {$ENDIF} stored False;
-
- property ChassisModel: TChassis read FCHMod {$IFNDEF D6PLUS} write FCHMod {$ENDIF} stored False;
- property ChassisManufacturer: string read FCHMan {$IFNDEF D6PLUS} write FCHMan {$ENDIF} stored False;
- property ChassisVersion: string read FCHVer {$IFNDEF D6PLUS} write FCHVer {$ENDIF} stored False;
- property ChassisSerial: string read FCHSN {$IFNDEF D6PLUS} write FCHSN {$ENDIF} stored False;
- property ChassisAssetTag: string read FCHAT {$IFNDEF D6PLUS} write FCHAT {$ENDIF} stored False;
-
- property MemCtrlCurrentInterleave: TInterleaveSupport read FMCCI {$IFNDEF D6PLUS} write FMCCI {$ENDIF} stored False;
- property MemCtrlSupportedInterleave: TInterleaveSupport read FMCSI {$IFNDEF D6PLUS} write FMCSI {$ENDIF} stored False;
- property MemCtrlSupportedSpeeds: TMemorySpeeds read FMCSS {$IFNDEF D6PLUS} write FMCSS {$ENDIF} stored False;
- property MemCtrlSupportedTypes: TMemoryTypes read FMCST {$IFNDEF D6PLUS} write FMCST {$ENDIF} stored False;
- property MemCtrlSupportedVoltages: TVoltages read FMCSV {$IFNDEF D6PLUS} write FMCSV {$ENDIF} stored False;
- property MemCtrlMaxSize: WORD read FMCMS {$IFNDEF D6PLUS} write FMCMS {$ENDIF} stored False;
- property MemCtrlSlotCount: Byte read FMCSC {$IFNDEF D6PLUS} write FMCSC {$ENDIF} stored False;
-
- property ProcessorCount: Byte read GetProcCount {$IFNDEF D6PLUS} write FDummy {$ENDIF} stored False;
-
- property MemoryModuleCount: Byte read GetMemModCount {$IFNDEF D6PLUS} write FDummy {$ENDIF} stored False;
-
- property MemoryDeviceCount: Byte read GetMemDevCount {$IFNDEF D6PLUS} write FDummy {$ENDIF} stored False;
-
- property PortCount: Byte read GetPortCount {$IFNDEF D6PLUS} write FDummy {$ENDIF} stored False;
-
- property SystemSlotCount: Byte read GetSlotCount {$IFNDEF D6PLUS} write FDummy {$ENDIF} stored False;
-
- property CacheCount: Byte read GetCacheCount {$IFNDEF D6PLUS} write FDummy {$ENDIF} stored False;
-
- property OnBoardDeviceCount: Byte read GetOBDCount {$IFNDEF D6PLUS} write FDummy {$ENDIF} stored False;
-
- property TemperatureProbeCount: Byte read GetTempProbeCount {$IFNDEF D6PLUS} write FDummy {$ENDIF} stored False;
- end;
-
- implementation
-
-