tsmbios
1.0.0
SMBIOS (BIOS การจัดการระบบ) เป็นมาตรฐานที่พัฒนาโดย DMTF ข้อมูลที่เก็บไว้ใน SMBIOS รวมถึงผู้ผลิตอุปกรณ์ชื่อรุ่นหมายเลขซีเรียลเวอร์ชัน BIOS แท็กสินทรัพย์โปรเซสเซอร์พอร์ตและหน่วยความจำอุปกรณ์ที่ติดตั้ง
TSMBIOS libary อนุญาตให้เข้าถึง BIOS การจัดการระบบ (SMBIOS) โดยใช้ภาษา Pascal Object (Delphi หรือ Pascal ฟรี)
รหัสนี้แสดงวิธีดึงข้อมูลที่เกี่ยวข้องกับอุปกรณ์หน่วยความจำที่ติดตั้งในระบบ
{ $APPTYPE CONSOLE }
{ $R *.res }
uses
Classes,
SysUtils,
uSMBIOS in ' ....CommonuSMBIOS.pas ' ;
procedure GetMemoryDeviceInfo ;
Var
SMBios: TSMBios;
LMemoryDevice: TMemoryDeviceInformation;
begin
SMBios := TSMBios.Create;
try
WriteLn( ' Memory Device Information ' );
WriteLn( ' ------------------------- ' );
if SMBios.HasPhysicalMemoryArrayInfo then
for LMemoryDevice in SMBios.MemoryDeviceInformation do
begin
WriteLn(Format( ' Total Width %d bits ' ,[LMemoryDevice.RAWMemoryDeviceInfo.TotalWidth]));
WriteLn(Format( ' Data Width %d bits ' ,[LMemoryDevice.RAWMemoryDeviceInfo.DataWidth]));
WriteLn(Format( ' Size %d Mbytes ' ,[LMemoryDevice.GetSize]));
WriteLn(Format( ' Form Factor %s ' ,[LMemoryDevice.GetFormFactor]));
WriteLn(Format( ' Device Locator %s ' ,[LMemoryDevice.GetDeviceLocatorStr]));
WriteLn(Format( ' Bank Locator %s ' ,[LMemoryDevice.GetBankLocatorStr]));
WriteLn(Format( ' Memory Type %s ' ,[LMemoryDevice.GetMemoryTypeStr]));
WriteLn(Format( ' Speed %d MHz ' ,[LMemoryDevice.RAWMemoryDeviceInfo.Speed]));
WriteLn(Format( ' Manufacturer %s ' ,[LMemoryDevice.ManufacturerStr]));
WriteLn(Format( ' Serial Number %s ' ,[LMemoryDevice.SerialNumberStr]));
WriteLn(Format( ' Asset Tag %s ' ,[LMemoryDevice.AssetTagStr]));
WriteLn(Format( ' Part Number %s ' ,[LMemoryDevice.PartNumberStr]));
WriteLn;
if LMemoryDevice.RAWMemoryDeviceInfo.PhysicalMemoryArrayHandle> 0 then
begin
WriteLn( ' Physical Memory Array ' );
WriteLn( ' --------------------- ' );
WriteLn( ' Location ' +LMemoryDevice.PhysicalMemoryArray.GetLocationStr);
WriteLn( ' Use ' +LMemoryDevice.PhysicalMemoryArray.GetUseStr);
WriteLn( ' Error Correction ' +LMemoryDevice.PhysicalMemoryArray.GetErrorCorrectionStr);
if LMemoryDevice.PhysicalMemoryArray.RAWPhysicalMemoryArrayInformation.MaximumCapacity<>$ 80000000 then
WriteLn(Format( ' Maximum Capacity %d Kb ' ,[LMemoryDevice.PhysicalMemoryArray.RAWPhysicalMemoryArrayInformation.MaximumCapacity]))
else
WriteLn(Format( ' Maximum Capacity %d bytes ' ,[LMemoryDevice.PhysicalMemoryArray.RAWPhysicalMemoryArrayInformation.ExtendedMaximumCapacity]));
WriteLn(Format( ' Memory devices %d ' ,[LMemoryDevice.PhysicalMemoryArray.RAWPhysicalMemoryArrayInformation.NumberofMemoryDevices]));
end ;
WriteLn;
end
else
Writeln( ' No Memory Device Info was found ' );
finally
SMBios.Free;
end ;
end ;
begin
try
GetMemoryDeviceInfo;
except
on E:Exception do
Writeln(E.Classname, ' : ' , E.Message);
end ;
Writeln( ' Press Enter to exit ' );
Readln;
end .
คุณสามารถติดตั้ง Delphinus Package Manager และติดตั้ง TSMBIOS เป็นแพ็คเกจที่นั่น (Delphinus-Support)