-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathsignBema.pas
39 lines (31 loc) · 1.33 KB
/
signBema.pas
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
unit signBema;
interface
uses Windows, SysUtils;
procedure loadAllSignBemaFunctions;
type
Tgenkkey = function (ChavePublica: AnsiString; ChavePrivada: AnsiString): integer; stdcall;
TsetLibType = function(Tipo: integer): integer; stdcall;
TgenerateEAD = function(NomeArq: AnsiString; ChavePublica: AnsiString; ChavePrivada: AnsiString; EAD: AnsiString; Sign: Integer): integer; stdcall;
TvalidateFile = function(NomeArq: AnsiString; ChavePublica: AnsiString; ChavePrivada: AnsiString): integer; stdcall;
Tmd5FromFile = function (nomeArquivo: AnsiString; md5: AnsiString): integer; stdcall;
var
genkkey: Tgenkkey;
setLibType: TsetLibType;
generateEAD: TgenerateEAD;
validateFile: TvalidateFile;
md5FromFile: Tmd5FromFile;
implementation
procedure loadAllSignBemaFunctions;
var
DLLHandle: THandle;
begin
DLLHandle := LoadLibrary('sign_bema.dll');
if DLLHandle = 0 then
raise Exception.create('Não foi possível carregar a DLL sign Bema' + #13#10 + 'Entre em contato com o suporte.');
@genkkey := GetProcAddress(DLLHandle, 'genkkey');
@setLibType := GetProcAddress(DLLHandle, 'setLibType');
@generateEAD := GetProcAddress(DLLHandle, 'generateEAD');
@validateFile := GetProcAddress(DLLHandle, 'validateFile');
@md5fromfile := GetProcAddress(DLLHandle, 'md5FromFile');
end;
end.