![]() |
|
#1
|
|||
|
|||
![]() Добрый день.
Начальство дало наказ внедрить проверку пин etoken в наших программах. Начал разбираться с PKCS#11. НО не все получается. Хочу для начала прочитать данные библиотеки вопрос хочу прочитать данные библиотеки, но выдается белибирда. Код:
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 //загружаем DLL-ку 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; надо как то по идее связать FIN и Init1. но как? Последний раз редактировалось Admin, 02.11.2011 в 15:35. |