procedure
TForm1
.
Button1Click(Sender: TObject);
type
CK_C_Initialize1 = ^C_Initialize;
CK_C_Finalize1 = ^C_Finalize;
CK_C_GetInfo1 = ^C_GetInfo;
CK_C_GetFunctionList1 = ^C_GetFunctionList;
var
Init: CK_C_Initialize1;
Fin: CK_C_Finalize1;
GInfo: CK_C_GetInfo1;
GetFuncList : CK_C_GetFunctionList1;
DLLETOKEN : THandle;
Init1 : CK_INFO;
begin
DLLETOKEN := LoadLibrary(
PChar
(
'eTpkcs11.dll'
));
if
(DLLETOKEN =
0
)
then
begin
MessageDlg(
'Невозможно загрузить DLL'
, mtError, [mbOK],
0
);
Exit;
end
;
Init:= GetProcAddress(DLLETOKEN,
'C_Initialize'
);
Fin:= GetProcAddress(DLLETOKEN,
'C_Finalize'
);
GInfo := GetProcAddress(DLLETOKEN,
'C_GetInfo'
);
GetFuncList := GetProcAddress(DLLETOKEN,
'C_GetFunctionList'
);
if
Assigned(Init)
then
begin
Label1
.
Caption:= Inttostr(Init1
.
cryptokiVersion
.
major);
Label2
.
Caption:= InttoStr(Init1
.
cryptokiVersion
.
minor);
label3
.
Caption:= InttoStr(init1
.
libraryVersion
.
major);
label4
.
Caption:= InttoStr(init1
.
libraryVersion
.
minor);
end
;