Functions exported by this DLL:



{===============================================================================

 UNIT
   CubicHardID
   Version 1.4a
   18 Sept 2010

 COPYRIGHT
   CubicDesign 2010
   All rights reserved
   www.Soft.Tahionic.com

 Programming languages supported:
   Delphi
   C, C++, VB, FoxPro, VBA, .Net programmers click here

================================================================================


UNIT CubicHardID;

INTERFACE
USES
   Windows, SysUtils, Classes, Registry, PsAPI;
   { 'Dialogs.pas' brings about 310KB to the size of this DLL. Better not use it. }


CONST
  
   { OSMemType }
   MemoryLoad    = 1;                                                           { Total memory used in percents (%)   }
   TotalPhys     = 2;                                                           { Total physical memory in bytes      }
   AvailPhys     = 3;                                                           { Available physical memory (bytes)   }
   TotalPageFile = 4;                                                           { Total page file in (bytes)          }
   AvailPageFile = 5;                                                           { Available page file (bytes)         }
   TotalVirtual  = 6;                                                           { Total virtual memory in bytes       }
   AvailVirtual  = 7;                                                           { Available virtual memory (bytes)    }

   { ProcMemType }
   WorkingSetSize             =1;                                               {- the current working set size, in bytes. }
   PageFaultCount             =2;                                               {- the number of page faults.}
   PeakWorkingSetSize         =3;                                               {- the peak working set size, in bytes.}
   QuotaPeakPagedPoolUsage    =4;                                               {- The peak paged pool usage, in bytes.}
   QuotaPagedPoolUsage        =5;                                               {- The current paged pool usage, in bytes.}
   QuotaPeakNonPagedPoolUsg   =6;                                               {- The peak nonpaged pool usage, in bytes.}
   QuotaNonPagedPoolUsg       =7;                                               {- The current nonpaged pool usage, in bytes.}
   PagefileUsage              =8;                                               {- The current space allocated for the pagefile, in bytes. Those pages may or may not be in memory.}
   PeakPagefileUsage          =9;                                               {- The peak space allocated for the pagefile, in bytes.}


 { CPU }
 function GetCPUSpeed         : Double;
 function CPUFamily           : String;                                         { Get cpu identifier from the windows registry }
 function GetCpuTheoreticSpeed: Integer;                                        { Get cpu speed (in MHz) }
 function IsCPUIDAvailable    : Boolean;
 function GetCPUID (CoreMask: Word): String;                                    { Get the ID of the specified logical CPU. For CoreMask parameter see this page. }
 function GetCpuIdNow         : String;                                         { Get the ID of the first available logical CPU }
 function GetCPUCount         : Integer;                                        { The number of LOGICAL processors in the current group }
 function IsIntel64BitCPU     : Boolean;                                        { Detects IA64 processors }
 function GetCPUVendor        : String;                                         { New GetCPUVendor function. Reported to work with D7 and D2009. }

 { RAM }
 function MemStatWindows    (CONST OSMemType  : Byte): Cardinal;                { in Bytes. Limited by the capacity of the OS (32bits OSs will report max 2GB) }
 function MemStatWindows_KB (CONST OSMemType  : Byte): String;                  { in KB }
 function MemStatWindows_MB (CONST OSMemType  : Byte): String;                  { in MB }
 function MemStatCurrProc   (CONST ProcMemType: Byte= 1): Cardinal;             { Returns data about the memory used of the current process }
 function MemStatPeak: Cardinal;                                                { Peak memory used by current program }

 { RAM - Advanced stuff }
 function GetPageSize: Cardinal;                                                { The page size and the granularity of page protection and commitment. This is the page size used by the VirtualAlloc function. }
 function GetMemGranularity: Integer;                                           { Granularity with which virtual memory is allocated (in KB) }
 function GetLowAddr: Cardinal;                                                 { Lowest RAM memory address accessible to applications (this is the RAM address, not virtual memory address) }
 function GetHiAddr: Cardinal;                                                  { Lowest RAM memory address accessible to applications }

 { HDD }
 function GetPartitionID    (Partition  : PAnsiChar): String;                   { Get the unique ID of the specified patition. Example of parameter: 'C:' for the first partition. 'D:' for the next partition, etc. }
 function GetIDESerialNumber(DriveNumber: Byte): String;                        { Get the unique ID of the harddrive. DriveNumber parameters can have values from 0 to 7. Number 0 corresponds to the first physic drive. UAC details }

 { BIOS (NEW!) }
 function BiosDate: string;
 function BiosVersion: string;                                                  { Could be something like: TOSQCI - 6040000 Ver 1.00PARTTBL. TOS is comming from Toshiba Q is comming from product series (Qosmio) }
 function BiosProductID: string;                                                { Manufacturer product (laptop, PC) ID - Could be something like: Toshiba_PQX33U-01G00H }
 function BiosVideo: string;
 
 { Utils }
 procedure Mes(sMessage: PAnsiChar);                                            { Lightweight replacement for Dialogs.Pas }
 function  BinToInt(Value: String): Integer;
 function  IntToBin(CONST Value, Digits: integer): String;
 function  CoreNumber2CoreMask(CoreNo: integer): integer;                       { Details }
 procedure ChangeByteOrder(VAR Data; Size : Integer);
 function  GetDllVersion: Real;

 { INTERNAL }
 function _isCPUIDAvailable: Boolean; Register;
 function GetCPUVendor2: string;
 function GetCPUVendor3: string;
 function WindowsProductID: string;


IMPLEMENTATION

...
 





Note: 
All strings used in this DLL are Delphi 7 (ANSI) strings. 
The following functions are freely accessible (you don't need a to purchase the DLL in order to use them): ChangeByteOrder, BinToInt, IntToBin, CoreNumber2CoreMask, WindowsProductID, GetPageSize, GetMemGranularity, GetLowAddr, GetHiAddr, MemStatWindows, MemStatWindows_KB, MemStatWindows_MB, MemStatCurrProc, MemStatPeak, IsCPUIDAvailable, GetCpuTheoreticSpeed, GetCPUCount, IsIntel64BitCPU
HOME