P := RawData; // Skip SMBIOS entry point header (first 0x20 or 0x1F bytes) TableOffset := PWord(P + $16)^; // Entry point: structure table address offset
GetMem(RawData, BufSize); try if GetSystemFirmwareTable('RSMB', 0, RawData, BufSize) = 0 then Exit;
SMBIOS_BASEBOARD = packed record Header: SMBIOS_HEADER; Manufacturer: Byte; Product: Byte; Version: Byte; SerialNumber: Byte; AssetTag: Byte; FeatureFlags: Byte; Location: Byte; ChassisHandle: Word; BoardType: Byte; NumContained: Byte; end;
P := RawData; // Skip SMBIOS entry point header (first 0x20 or 0x1F bytes) TableOffset := PWord(P + $16)^; // Entry point: structure table address offset
GetMem(RawData, BufSize); try if GetSystemFirmwareTable('RSMB', 0, RawData, BufSize) = 0 then Exit; Delphi Motherboard Serial Number
SMBIOS_BASEBOARD = packed record Header: SMBIOS_HEADER; Manufacturer: Byte; Product: Byte; Version: Byte; SerialNumber: Byte; AssetTag: Byte; FeatureFlags: Byte; Location: Byte; ChassisHandle: Word; BoardType: Byte; NumContained: Byte; end; P := RawData; // Skip SMBIOS entry point