home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 June / Chip_2002-06_cd1.bin / zkuste / delphi / kompon / d56 / MSYSINFO.ZIP / Int / MSI_Memory.int < prev    next >
Encoding:
Text File  |  2002-03-04  |  3.1 KB  |  78 lines

  1.  
  2. {*******************************************************}
  3. {                                                       }
  4. {       MiTeC System Information Component              }
  5. {              Memory Detection Part                    }
  6. {           version 7.4 for Delphi 5,6                  }
  7. {                                                       }
  8. {       Copyright ⌐ 1997,2002 Michal Mutl               }
  9. {                                                       }
  10. {*******************************************************}
  11.  
  12. {$INCLUDE MITEC_DEF.INC}
  13.  
  14. unit MSI_Memory;
  15.  
  16. interface
  17.  
  18. uses
  19.   SysUtils, Windows, Classes, MSI_Common;
  20.  
  21. type
  22.   TMemoryStatusEx = record
  23.     dwLength,
  24.     dwMemoryLoad: DWORD;
  25.     ullTotalPhys,
  26.     ullAvailPhys,
  27.     ullTotalPageFile,
  28.     ullAvailPageFile,
  29.     ullTotalVirtual,
  30.     ullAvailVirtual,
  31.     ullAvailExtendedVirtual: int64;
  32.   end;
  33.  
  34.   PMemoryStatusEx = ^TMemoryStatusEx;
  35.  
  36.   TResources = class(TPersistent)
  37.   public
  38.     constructor Create;
  39.     procedure GetInfo;
  40.   published
  41.     property System: Byte read FSystem {$IFNDEF D6PLUS} Write FDummy {$ENDIF} stored false;
  42.     property GDI: Byte read FGDI {$IFNDEF D6PLUS} write FDummy {$ENDIF} stored false;
  43.     property User: Byte read FUser {$IFNDEF D6PLUS} write FDummy {$ENDIF} stored False;
  44.   end;
  45.  
  46.   TMemory = class(TPersistent)
  47.   public
  48.     constructor Create;
  49.     destructor Destroy; override;
  50.     procedure GetInfo;
  51.     procedure Report(var sl :TStringList);
  52.   published
  53.     property ExceptionMode: TExceptionMode read FMode write FMode;
  54.     property PhysicalTotal :int64 read FPhysicalTotal {$IFNDEF D6PLUS} write FPhysicalTotal {$ENDIF} stored false;
  55.     property PhysicalFree :int64 read FPhysicalFree {$IFNDEF D6PLUS} write FPhysicalFree {$ENDIF} stored false;
  56.     property VirtualTotal :int64 read FVirtualTotal {$IFNDEF D6PLUS} write FVirtualTotal {$ENDIF} stored false;
  57.     property VirtualFree :int64 read FVirtualFree {$IFNDEF D6PLUS} write FVirtualFree {$ENDIF} stored false;
  58.     property PageFileTotal :int64 read FPageFileTotal {$IFNDEF D6PLUS} write FPageFileTotal {$ENDIF} stored false;
  59.     property PageFileFree :int64 read FPageFileFree {$IFNDEF D6PLUS} write FPageFileFree {$ENDIF} stored false;
  60.     property MemoryLoad :integer read FMemoryLoad {$IFNDEF D6PLUS} write FMemoryLoad {$ENDIF} stored false;
  61.     property AllocGranularity :integer read FAllocGranularity {$IFNDEF D6PLUS} write FAllocGranularity {$ENDIF} stored false;
  62.     property MaxAppAddress :integer read FMaxAppAddress {$IFNDEF D6PLUS} write FMaxAppAddress {$ENDIF} stored false;
  63.     property MinAppAddress :integer read FMinAppAddress {$IFNDEF D6PLUS} write FMinAppAddress {$ENDIF} stored false;
  64.     property PageSize :integer read FPageSize {$IFNDEF D6PLUS} write FPageSize {$ENDIF} stored false;
  65.     property Resources :TResources read FResources {$IFNDEF D6PLUS} write FResources {$ENDIF} stored False;
  66.   end;
  67.  
  68. type
  69.   TGlobalMemoryStatusEx = function(lpBuffer: PMEMORYSTATUSEX): BOOL; stdcall;
  70.   TQT_Thunk = procedure cdecl;
  71.  
  72. function GlobalMemoryStatusEx(lpBuffer: PMEMORYSTATUSEX): BOOL; stdcall;
  73. procedure QT_Thunk; cdecl;
  74.  
  75. implementation
  76.  
  77.  
  78.