1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542
| unit SMBIOSStructures;
interface
uses
Windows, Messages, SysUtils, Classes,WADMIUtils;
const
sWakeupType:array[0..8] of string=('Réservé','Autre','Inconnu','APM Timer','Modem Ring','LAN Remote','Power Switch','PCI PME#','AC Power Restored');
sBoardType:array[1..$D] of string=('Autre',
'Inconnu',
'Server Blade',
'Connectivity Switch',
'System management Module',
'Module Processeur',
'Module E/S',
'Module mémoire',
'Carte fille',
'Carte mère (inclue processeur, mémoire, E/S)',
'Module Processeur+Mémoire',
'Module Processeur+E/S',
'Carte d''interconnection');
sChassisType:array[1..$19] of string=('Autre',
'Inconnu',
'Desktop',
'Low Profile Desktop',
'Pizza Box',
'Mini Tour',
'Tour',
'Portable',
'LapTop',
'Notebook',
'Hand Held',
'Docking Station',
'Tout-en-un',
'Sub Notebook',
'Space-saving',
'Lunch Box',
'Chassis Serveur Principal',
'Chassis d''extension',
'Sous-Chassis',
'Chassis d''extension bus',
'Chassis périphérique',
'Chassis RAID',
'Chassis Rack amovible',
'Boitier scellé',
'Chassis Multi-système');
sChassisState:array[1..6] of string=('Autre','Inconnu','Sécurisé','Warning','Critique','Non récupérable');
sChassisSecurityStatus:array[1..5] of string=('Autre','Inconnu','Aucun','Interface externe désolidarisée','Interface externe activée');
sProcessorType:array[1..6] of string=('Autre','Inconnu',
'Processeur Central',
'Processeur Math',
'Processeur DSP',
'Processeur Video');
sProcessorFamily1:array[1..202] of string=(
'Autre',
'Inconnu',
'8086',
'80286',
'80386',
'80486',
'8087',
'80287',
'80387',
'80487',
'Pentium(R) Brand"',
'Pentium(R) Pro',
'Pentium(R) II',
'Pentium(R) Processor with MMX(TM) Technology',
'Celeron(TM)',
'Pentium(R) II Xeon(TM)',
'Pentium(R) III',
'M1 Family',
'M2 Family', //19
'','','','',
'AMD Duron(TM) Processor Family', //24
'K5 Family',
'K6 Family',
'K6-2',
'K6-III',
'AMD Athlon(TM) Processor Family',
'AMD29000 Family',
'K6-2+',
'Power PC Family',
'Power PC 601',
'Power PC 603',
'Power PC 603+',
'Power PC 604',
'Power PC 620',
'Power PC X704',
'Power PC 750', //39
'','','','','','','','',
'Alpha Family (or Pentium Pro)', //48
'Alpha 21064',
'Alpha 21066',
'Alpha 21164',
'Alpha 21164PC',
'Alpha 21164a',
'Alpha 21264',
'Alpha 21364', //55
'','','','','','','','',
'MIPS Family', //64
'MIPS R4000',
'MIPS R4200',
'MIPS R4400',
'MIPS R4600',
'MIPS R10000', //69
'','','','','','','','','','',
'SPARC Family', //80
'SuperSPARC',
'microSPARC II',
'microSPARC IIep',
'UltraSPARC',
'UltraSPARC II',
'UltraSPARC IIi',
'UltraSPARC III',
'UltraSPARC IIIi', //88
'','','','','','','',
'68040', //96
'68xxx Family',
'68000',
'68010',
'68020',
'68030', //101
'','','','','','','','','','',
'Hobbit Family', //112
'','','','','','','',
'Crusoe(TM) TM5000 Family', //120
'Crusoe(TM) TM3000 Family', //121
'','','','','','',
'Weitek', //128
'',
'Itanium(TM) Processor', //130
'','','','','','','','','','','','','',
'PA-RISC Family', //144
'PA-RISC 8500',
'PA-RISC 8000',
'PA-RISC 7300LC',
'PA-RISC 7200',
'PA-RISC 7100LC',
'PA-RISC 7100',//150
'','','','','','','','','',
'V30 Family',//160
'','','','','','','','','','','','','','','',
'Pentium(R) III Xeon(TM)', //176
'Pentium(R) III Processor with Intel(R) SpeedStep(TM) Technology',
'Pentium(R) 4 Processor',
'Intel(R) Xeon(TM)',
'AS400 Family',//180
'','','','','','','','','','','','','','','','','','','',
'IBM390 Family', //200
'G4',
'G5');
sProcessorFamily2:array[250..320] of string=(
'i860','i960','','','','','','','','',
'SH-3',
'SH-4','','','','','','','','','','','','','','','','','','',
'ARM',
'StrongARM','','','','','','','','','','','','','','','','','','',
'6x86',
'MediaGX',
'MII','','','','','','','','','','','','','','','','','',
'WinChip');
sProcessorFamily3:array[350..351] of string=('DSP','');
sProcessorFamily4:array[500..501] of string=('Video Processor','');
sProcessorUpgrade:array[1..15] of string=('Autre',
'Inconnu',
'Carte fille',
'Socket ZIF',
'Piggy Back remplaçable',
'Aucun',
'Socket LIF',
'Slot 1',
'Slot 2',
'370 Pin Socket',
'Slot A',
'Slot M',
'Socket 423',
'Socket A (Socket 462)',
'Socket 478');
sMemoryControllerEDM:array[1..8] of string=('Autre','Inconnu','Aucun','Parité 8 bits','ECC 32 bits','ECC 64 bits','ECC 128 bits','CRC');
sMemoryControllerInterleave:array[1..7] of string=('Autre','Inconnu','One Way Interleave','Two Way Interleave','Four Way Interleave','Eight Way Interleave','Sixteen Way Interleave');
sCacheInformationErrorCorrectionType:array[1..6] of string=('Autre','Inconnu','Aucune','Parité','ECC bit unique','ECC bits multiples');
sCacheInformationSystemCacheType:array[1..5] of string=('Autre','Inconnu','Instruction','Data','Unifié');
sCacheInformationAssociativity:array[1..8] of string=
('Autre',
'Inconnu',
'Direct Mapped',
'2-way Set-Associative',
'4-way Set-Assotiative',
'Fully Associative',
'8-way Set-Assotiative',
'16-way Set-Assotiative');
sPortInformationConnectorTypes1:array[0..$21] of string=
('Aucun',
'Centronics',
'Mini Centronics',
'Propriétaire',
'DB-25 broches mâle',
'DB-25 broches femelle',
'DB-15 broches mâle',
'DB-15 broches femelle',
'DB-9 broches mâle',
'DB-9 broches femelle',
'RJ-11',
'RJ-45',
'MiniSCSI 50 broches',
'Mini DIN',
'Micro-DIN',
'PS/2',
'Infra-Rouge',
'HP-HIL',
'Access Bus (USB)',
'SSA SCSI',
'DIN-8 mâle circulaire',
'DIN-8 femelle circulaire',
'IDE sur carte',
'Floppy sur carte',
'9 broches Dual Inline (broche 10 coupée)',
'25 broches Dual Inline (broche 26 coupée)',
'50 broches Dual Inline',
'68 broches Dual Inline',
'Entrée son sur carte depuis le CD-ROM',
'Mini-Centronics Type-14',
'Mini-Centronics Type-26',
'Mini-Jack (Casque audio)',
'BNC',
'1394');
sPortInformationConnectorTypes2:array[$A0..$A4] of string=('PC-98',
'PC-98Hireso',
'PC-H98',
'PC-98Note',
'PC-98Full');
sPortTypes1:array[0..$1F] of string=('Aucun',
'Port parallèle compatible XT/AT',
'Port parallèle PS/2',
'Port parallèle ECP',
'Port parallèle EPP',
'Port parallèle ECP/EPP',
'Port série Compatible XT/AT',
'Port série Compatible 16450',
'Port série Compatible 16550',
'Port série Compatible 16550A',
'Port SCSI',
'Port MIDI',
'Port Joystick',
'Port Clavier',
'Port Souris',
'SSA SCSI',
'USB',
'FireWire (IEE P1394)',
'PCMCIA Type II',
'PCMCIA Type II',
'PCMCIA Type III',
'Cardbus',
'Port Access Bus',
'SCSI II',
'SCSI Wide',
'PC-98',
'PC-98-Hireso',
'PC-H98',
'Port Vidéo',
'Port Audio',
'Port Modem',
'Port Réseau');
sPortTypes2:array[$A0..$A1] of string=('Compatible 8251',
'Compatible 8251 FIFO');
sSystemSlotsSlotTypes1:array[1..$11] of string=('Autre','Inconnu',
'ISA',
'MCA',
'EISA',
'PCI',
'PC Card (PCMCIA)',
'VL-VESA',
'Propriétaire',
'Slot pour carte processeur',
'Slot pour carte mémoire propriétaire',
'slot pour carte "I/O Riser"',
'NuBus',
'PCI - 66MHz',
'AGP',
'AGP 2x',
'AGP 4x');
sSystemSlotsSlotTypes2:array[$A0..$A4] of string=(
'PC-98/C20',
'PC-98/C24',
'PC-98/E',
'PC-98/Bus Local',
'PC-98/Carte');
sSystemSlotsSlotDataBusWidth:array[1..7] of string=('Autre','Inconnu',
'8 bits',
'16 bits',
'32 bits',
'64 bits',
'128 bits');
sSystemSlotsCurrentUsage:array[1..4] of string=('Autre','Inconnu','Disponible','Utilisée');
sSystemSlotsSlotLength:array[1..4] of string=('Autre','Inconnue','Courte','Longue');
sOnBoardDeviceInformationOnBoarDeviceType:array[1..7] of string=('Autre','Inconnu','Vidéo','Controller SCSI','Ethernet','Token Ring','Son');
sPhysicalMeMoryArrayLocation1:array[1..9] of String=('Autre','Inconnu','Carte systême ou Carte mère',
'Add-on carte ISA','Add-on carte EISA','Add-on carte PCI',
'Add-on carte MCA','Add-on carte PCMCIA','Add-on carte propriétaire');
sPhysicalMeMoryArrayLocation2:array[$A0..$A3] of String=('Add-on carte PC-98/20','Add-on carte PC-98/C24','Add-on carte PC-98/E',
'Add-on carte PC-98/Bus Local');
sPhysicalMeMoryArrayUse:array[1..7] of String=('Autre','Inconnu','Mémoire système','Mémoire vidéo',
'Mémoire Falsh','RAM non-volatile','Mémoire cache');
sPhysicalMeMoryArrayECT:array[1..7] of String=('Autre','Inconnu','Aucune','Parité','ECC bit unique','ECC bits multiples','CRC');
sMemoryDeviceFormFactor:array[1..$E] of string=('Autre','Inconnu','SIMM','SIP','Puce','DIP','ZIP','Carte propriétaire',
'DIMM','TSOP','Ligne de puces','RIMM','SODIMM','SRIMM');
sMemoryDeviceType:array[1..$11] of string=('Autre','Inconnu','DRAM','EDRAM','VRAM','SRAM','RAM',
'ROM','Flash','EEPROM','FEPROM','EPROM','CDRAM','3DRAM','SDRAM','SGRAM','RDRAM');
type
THandles=array[0..255] of word;
TSMBIOS_STEP=record //SMBIOS Structure Table Entry Point
Address:Cardinal;
DMIAddress:Cardinal;
AnchorString:string[4];
EntryPointStructureChecksum:byte;
EntryPointLength:byte;
MajorVersion:byte;
MinorVersion:byte;
MaximumStructureSize:word;
EntryPointRevision:byte;//00h : Entry Point is based on SMBIOS 2.1 definition
// formatted area is reserved and set to all 00h
//01h-ffh : Reserved for assignment via this specification
FormattedArea:array[0..4] of byte;
IntermediateAnchorString:string[5];
IntermediateChecksum:byte;
StructureTableLength:word;
StructureTableAddress:dword;
NumberOfStructures:word;
BCDRevision:byte;
end;
TBIOSCharacteristics=record //type 0
bytes:array[0..7] of byte;
BIOS_Characteristics_Not_Supported:boolean; //3
ISA_Support:boolean; // 4
MCA_Support:boolean; // 5
EISA_Support:boolean; // 6
PCI_Support:boolean; // 7
PCMCIA_Support:boolean;// 8
PnP_Support:boolean; // 9
APM_Support:boolean; //10
BIOS_Upgradable:boolean; //11
BIOSShadowingAllowed:boolean; //12
VL_VESA_Supported:boolean; //13
ESCD_Support_Available:boolean; //14
BootFromCD_Available:boolean;
Selectable_Boot_Support:boolean;
BIOS_ROM_Socketed:boolean;
BootFromPCMCIA_Support:boolean;
EDD_Specification_Support:boolean;
JapaneseFloppyNEC9800_Support:boolean;
JapaneseFloppyToshiba_Support:boolean;
Floppy_525_360KB_Support:boolean;
Floppy_525_122MB_Support:boolean;
Floppy_35_720KB_Support:boolean;
Floppy_35_288MB_Support:boolean;
PrintScreen_Support:boolean;
Keyboard_8042_Support:boolean;
Serial_Support:boolean;
Printer_Support:boolean;
CGAMono_Video_Support:boolean;
NEC_PC98:boolean;
BIOSVendorReserved:array[0..1] of byte;
SystemVendorReserved:array[0..1] of byte;
end;
TBIOSCaracteristicsExtensionBytes=record //type 0 (extension)
bytes:array[0..1] of byte;
ACPI_Support:boolean;
USB_Legacy_Support:boolean;
AGP_Support:boolean;
I2O_Boot_Support:boolean;
LS120_Boot_Support:boolean;
ATAPI_ZIPDrive_Boot_Support:boolean;
IEE1394_Boot_Support:boolean;
Smart_Battery_Support:boolean;
//byte2
BiosBootSpecification_Support:boolean;
end;
TBIOSInformation=record //type 0
Vendor:string;
BIOSVersion:string;
BIOSStartingAddressSegment:word;
BIOSReleaseDate:string;
BIOSROMSize_KB:word;
BIOSCaracteristics:TBIOSCharacteristics;
NumberOfBIOSCaracteristicsExtensionBytes:byte;
BIOSCaracteristicsExtensionBytes:TBIOSCaracteristicsExtensionBytes;
end;
TBaseBoard=record
Manufacturer:string;
ProductName:string;
Version:String;
SerialNumber:String;
AssetTag:string;
LocationInChassis:string;
Features:string;
AssociatedChassisHandle:word;
BoardType:string;
NumberOfContainedObjects:byte;
ContainedObjectsHandle:array[0..255] of word;
end;
TSystemInformation=record //type 2
Manufacturer:string;
ProductName:string;
Version:String;
SerialNumber:String;
UUID:string[32];
WakeUpType:string;
end;
TChassis=record //Type 3
Manufacturer:string;
TypeChassis:string;
Version:string;
SerialNumber:string;
AssetTagNumber:string;
BootupState:String;
PowerSupplyState:String;
ThermalState:String;
SecurityStatus:String;
OEM_Defined:dword;
Height:string;
NumberOfPowerChords:byte;
ContainedElementsCount:byte;
end;
TProcessorInformation=record //type 4
SocketDesignation:string;
ProcessorType:string;
ProcessorFamily:string;
ProcessorManufacturer:string;
ProcessorID:string;
ProcessorVersion:string;
Voltage:string;
ExternalClock:word;
MaxSpeed:word;
CurrentSpeed:word;
Status:string;
ProcessorUpgrade:string;
L1CacheHandle:word;
L2CacheHandle:word;
L3CacheHandle:word;
SerialNumber:string;
AssetTag:string;
PartNumber:string;
end;
TCacheInformation=record //type 7
Comment:string;
SocketDesignation:string;
CacheConfiguration:string;
MaximumCacheSize:string;
InstalledSize:string;
SupportedSRAMType:string;
CurrentSRAMType:string;
CacheSpeed:string;
ErrorCorrectionType:string;
SystemCacheType:string;
Associativity:string;
end;
TMemoryControllerInfo=record //type 5
ErrorDetectingMethod:string;
ErrorCorrectingCapability:string;
SupportedInterleave:string;
CurrentInterleave:string;
MaximumMemorySupported:String;
MaximumMemoryModuleSize:String;
SupportedSpeeds:string;
SupportedMemoryTypes:string;
MemoryModuleVoltage:string;
NumberOfAssociaTedMemorySlots:byte;
MemoryConfigurationHandles:THandles;
EnableECC:string;
end;
TMemoryModuleInfo=record //type 6
SocketDesignation:string;
BankConnections:string;
CurrentSpeed:string;
CurrentMemoryType:string;
InstalledSize:string;
EnabledSize:String;
ErrorStatus:string;
end;
TPortConnectorInformation=record
InternalReferenceDesignator:string;
InternalConnectorType:string;
ExternalReferenceDesignator:string;
ExternalConnectorType:string;
PortType:string;
end;
TSystemSlots=record
SlotDesignation:string;
SlotType:string;
SlotDataBusWidth:string;
CurrentUsage:string;
SlotLength:string;
SlotID:string;
SlotCharacteristics1:string;
SlotCharacteristics2:string;
end;
TOnBoardDevices=record
DeviceCount:byte;
DevicesType:array[0..255] of string;
DevicesString:array[0..255] of string;
end;
TGroupAssociations=record
GroupName:string;
Count:integer;
ItemType:array[0..255] of byte;
ItemHandle:array[0..255] of word;
end;
TLanguage=record
Present:boolean;
InstallableLanguages:byte;
ListOfLanguages:array[0..255] of string;
AbreviatedFormat:boolean;
CurrentLanguage:string;
end;
implementation
end. |
Partager