library plugin1;

uses
  Windows,SysUtils,
  plugins in '..\..\plugins.pas';

{$R *.res}
procedure get_plug_info(var Info:TPlugInfo);stdcall;
begin
     info.Menu_Text:='Sample plugin (Delphi)';
     info.Sign:=ATT_Sign;
     info.PuginType:=PL_STD;
end;

procedure exec_plugin(Win_Handle:integer;ATT_Proc:Pointer);stdcall;
var main_proc:Tatt_proc;
    version:dword;
    ss:array[0..255] of char;
    result:string;
begin
     main_proc:=ATT_Proc;
     main_proc(atc_getversion,nil,@version);
     result:='Version of ATI Tray Tools is '+IntToStr(version and $FFFF0000 shr 16)+'.'+IntToStr(version and $FFFF)+^m;
     fillchar(ss,256,0);
     main_proc(atc_getDriverRegKey,nil,@ss);
     result:=result+'Driver registry key is:'^m+StrPas(ss)+^m^m;

     main_proc(atc_getClocks,nil,@version);
     result:=result+'Current clocks is GPU:'+IntToStr(version and $FFFF)+' - MEM :'+IntToStr(version and $FFFF0000 shr 16)+^m;
     main_proc(atc_ReadDefaultClocks,nil,@version);
     result:=result+'BIOS clocks is GPU:'+IntToStr(version and $FFFF)+' - MEM :'+IntToStr(version and $FFFF0000 shr 16);

     MessageBox(win_handle,pchar(result),'Information',mb_ok);
end;

exports
      get_plug_info name 'get_plug_info',
      exec_plugin name 'exec_plugin';
begin
end.
 