unit SOPadDLL; interface uses Windows, sysutils, classes, Graphics, SOPDefs, DeviceTypes; //----------------------------------------------------------------------------------------- //imported function from the sopad.dll //----------------------------------------------------------------------------------------- type TSOPAD_Ignore256Pad = procedure(); register; type TSOPAD_GetOEMType = function(): Integer; register; type TSOPAD_LCDTextOut = function(x, y: Word; Text: ShortString): WordBool; register; type TSOPAD_LCDImage = procedure (x, y: Word; Image: HBITMAP); register; type TSOPAD_LCDLineOut = procedure (x1, y1, x2, y2: Word);register; type TSOPAD_GetRegistryPadSettings= function : ShortString; register; type TSOPAD_getBioData = procedure(VAR PadID : PIDType; VAR GMTS : GMTStampType; VAR nFrames : Integer; var Data: TFrames);register; type TSOPAD_GetSignedDocHashA = function (Hash: Pointer; Size: Byte;PrivateKey: Pointer; PrivateKeySize: Integer; var status:Integer; var outLen:Integer): Pointer;register; type TSOPAD_GetEncryptedAesKeyA= function (Hash: Pointer; Size: Byte;PublicKey: pointer; PublicKeySize: Integer; var outLen:Integer): Pointer;register; type TSOPAD_ReadHighResBitmapBase64 = function (typeOfPic: Integer): PAnsiChar;register; type TSOPAD_enumPorts = procedure (var PortList: TPortList);register; type TSOPAD_setCom = procedure (Com: Byte);register; type TSOPAD_startRead = procedure ();register; type TSOPAD_clearBioData = procedure ;register; type TSOPAD_checkCom = procedure (Com : Byte; var PadType : shortstring);register; type TSOPAD_getPID = function (var PadID: PIDType; CertStr:shortstring): Boolean; register; type TSOPAD_setPID = procedure (PadID: PIDType; CertStr:shortstring);register; type TSOPAD_setPadtype = procedure (PadType: shortstring);register; type TSOPAD_framesAvailable = function : Boolean;register; type TSOPAD_getFrame = procedure (var Frame: TDataFrame); register; type TSOPAD_stopRead = procedure (var PadID: PIDType; var TimeStamp : GMTStampType);register; type TSOPAD_isPadavAvailable = function (const settings: ShortString): Boolean; register; type TSOPAD_getBioDataArray = procedure (var PadID : PIDType; var GMTS : GMTStampType; var nFrames : integer; var Data: PDataFrame); register; type TSOPAD_getBioDataArrayItem = function (Data: PDataFrame; Index: Cardinal): PDataFrame;register; type TSOPAD_freeBioDataArray = procedure (var TSOPAD_BioDataArray: PDataFrame);register; type TSOPAD_getBioDataArrayEx = procedure (var PadID : PIDType; var GMTS : GMTStampType; var nFrames : integer; var Data: PDataFrameEx);register; type TSOPAD_getBioDataArrayItemEx = function (Data: PDataFrameEx; Index: Cardinal): PDataFrameEx;register; type TSOPAD_freeBioDataArrayEx = procedure (var TSOPAD_BioDataArray: PDataFrameEx);register; type TSOPAD_GetBioDataString = function : PAnsiChar;register; type TSOPAD_GetVerificationDataProfile = function(XMLType : cardinal) : PAnsiChar;register; type TSOPAD_unRegisterCanvas = procedure ;register; type TSOPAD_registerCanvas = procedure (canvas : TCanvas; xoffs, yoffs, width, height : Integer);register; type TSOPAD_getPadSettings = Function (oldSettings,certStr:shortstring):shortstring;register; type TSOPAD_setPadSettings = function (padSetting, certStr: ShortString): Boolean;register; type TSOPAD_setLang = procedure (lang:shortstring);register; type TSOPAD_useWintabDevices = procedure (TabletPC, Devices: Boolean);register; type TSOPAD_setWintabTabletPCRegion = Procedure (x1,y1,x2,y2:Integer);register; type TSOPAD_setWintabCorpLic = Procedure (corpLic:shortstring);register; type TSOPAD_SetSignText = procedure(lineNum: Integer; Text: ShortString);register; type TSOPAD_SetSignImage = procedure (Assign: Boolean; Image: LCDImageArray);register; type TSOPAD_SetSignImageEx = procedure (Assign: Boolean; Encoding: Integer; Width, Height: Integer; Image: PByte; Size: Cardinal);register; type TSOPAD_SetLCDMode = procedure (DefaultPicture: Boolean);register; type TSOPAD_ClearLCD = procedure (DefaultPicture: Boolean; SavedImage: Boolean; SavedText: Boolean);register; type TSOPAD_SetLCDDefaultPictureOptions = procedure (DrawFrame, DrawSignatureLine, DrawCopyrightText: Boolean);register; type TSOPAD_startCapture = function (Certificate:shortstring;CheckPad,AutostartSerching,showConnectionWinIfAutostart,ReadAndSaveInRegistry:boolean; var TSOPAD_Padsettings:shortstring):Boolean;register; type TSOPAD_configurePad = function (Certificate:shortstring;ShowSimpleDialog,AutostartIfSimpleDialog,SaveToRegistry:Boolean; var TSOPAD_Padsettings:shortstring):Boolean;register; type TSOPAD_checkConnectedPad = Function (Certificate:shortstring;AutostartSerching,showConnectionWinIfAutostart,ReadAndSaveInRegistry:boolean;var TSOPAD_Padsettings:shortstring):Boolean;register; type TSOPAD_Is256Pad = function: Boolean;register; type TSOPAD_RegisterBigButtonHandler = procedure (Handler: Pointer);register; type TSOPAD_RegisterSmallButtonHandler = procedure (Handler: Pointer);register; type TSOPAD_RegisterOnDeviceErrorHandler = procedure(Handler: Pointer);register; type TSOPAD_RegisterOnDeviceRemovedHandler = procedure(Handler: Pointer);register; type TSOPAD_RegisterOnDeviceFrameArrivedHandler = procedure (Handler : Pointer ); register; type TSOPAD_RegisterOnDeviceButton = procedure(Handler: Pointer);register; type TSOPAD_RegisterOnDeviceButtonEx = procedure(Handler: Pointer);register; type TSOPAD_RegisterOnDeviceSignFinished = procedure (Handler: Pointer);register; type TSOPAD_RegisterOnDeviceSignFinishedEx = procedure(Handler: Pointer);register; type TSOPAD_SetDriverOptions = procedure (Options1, Options2: Cardinal);register; type TSOPAD_SetDriverOptions1Flag= procedure(OptionID: Cardinal; Enable:boolean);register; type TSOPAD_SetDriverOptions2Flag= procedure(OptionID: Cardinal; Enable:boolean);register; type TSOPAD_SetDriverLong = procedure (Key, Value: Cardinal);register; type TSOPAD_FinalizeDLL = procedure (Full: Boolean); register; type TSOPAD_GetSensorSize = procedure (VAR Size: TSensorSize); register; type TSOPAD_GetDriverLong = function (Key: Cardinal): Cardinal;register; type TSOPAD_LCDImageEx = procedure (ImageKind, x, y: Word; Image: HBITMAP);register; type TSOPAD_LCDImageExR = function (ImageKind, x, y: Word; Image: HBITMAP): Integer;register; type TSOPAD_GetDeviceClock = function (VAR Time: TSystemTime): Boolean;register; type TSOPAD_SetDeviceClock = procedure (VAR Time: TSystemTime; Password: ShortString);register; //type TSOPAD_EnableRotationButton : procedure (Enable: Boolean);register; type TSOPAD_SetAESKey = function (Key: Pointer; Size: Byte): Boolean; register; type TSOPAD_CalibrateLCD = procedure ; register; type TSOPAD_GetDeviceSN = function (VAR Serial: ShortString): Boolean; register; type TSOPAD_SetCertificate = procedure (Certificate: ShortString);register; type TSOPAD_GetSOPadError = function : Integer; register; type TSOPAD_SetDocumentHash = function (Hash: Pointer; Size: Byte): Boolean; register; type TSOPAD_SetPreliminaryDocumentHash = function (Hash: Pointer; Size: Byte): Boolean;register; type TSOPAD_SetFinalDocumentHash = function (Hash: Pointer; Size: Byte): Boolean; register; type TSOPAD_SetDocumentKey = function (Key: Pointer; Size: Byte): Boolean; register; type TSOPAD_SetAdminKey = function (Key: Pointer; Size: Byte): Boolean; register; type TSOPAD_ReadPreviewImage= function (typeOfPic: Integer; AWidth, AHeight: Integer; var LenOfImage: Integer): Pointer;register; type TSOPAD_ReadHighResBitmap= function (typeOfPic: Integer; VAR LenOfImage: Integer): Pointer; register; type TSOPAD_SetDriverString= function (Key: Integer; Value: PAnsiChar): Cardinal; register; type TSOPAD_GetDriverString= function (Key: Cardinal): ShortString; register; type TSOPAD_GetDriverStringA= function (Key: Cardinal): PAnsiChar; register; type TSOPAD_SetDriverBin= procedure (Key: Integer; Value: Pointer; Length: Cardinal); register; type TSOPAD_UnlockDevice = function (Key: AnsiString): Boolean; register; type TSOPAD_GetEncryptedAesKey= function (var outLen: Integer): Pointer;register; type TSOPAD_GetSignedDocHash= function (var status: Integer; var outLen: Integer): Pointer;register; type TSOPAD_GetDeviceCertificate= function (var outLen: Integer): Pointer; register; type TSOPAD_GetDevicePublicKey= function (var outLen: Integer): Pointer;register; type TSOPAD_GetDeviceNotaryInfo= function (var outLen: Integer): Pointer; register; type TSOPAD_SetPublicKey1= function (PublicKey: Pointer; PublicKeySize: Integer): Integer; register; type TSOPAD_SetPrivateKey2= function (PrivateKey: Pointer; PrivateKeySize: Integer): Integer;register; type TSOPAD_CreateSignatureRectangle= function (X, Y, Width, Height, Color: Integer): Boolean;register; type TSOPAD_CreateSignatureRectangleEx = function(xStart, yStart, Width, Height, Color, xOffSet, yOffSet, Options: Integer): Boolean;register; type TSOPAD_stopCapture= function (var PadID: PIDType; var TimeStamp: GMTStampType; LParam: Cardinal): Boolean;register; type TSOPAD_ResetDevice= function : Cardinal;register; type TSOPAD_ResetSoPadCom= function : Cardinal;register; type TSOPAD_EnumeratePadsFirst= function (var FirstPad: ShortString): Boolean;register; type TSOPAD_EnumeratePadsNext= function (var NextPad: ShortString): Boolean;register; type TSOPAD_DialogLoadScript= function (baseMetaId: Integer; fromBuffer: Boolean; fileName: PAnsiChar): Boolean;register; type TSOPAD_DialogExecuteScript= function : Boolean;register; type TSOPAD_DialogGetLastEvent= function (var lastEvent: Integer): Boolean;register; type TSOPAD_DialogReadData= function (metaId, VariableId: Integer; var data: Integer): Boolean;register; type TSOPAD_DialogWriteData= function (metaId, VariableId, data: Integer): Boolean;register; type TSOPAD_DialogSetButtonGrayed= function (metaId: Integer): Boolean;register; type TSOPAD_DialogSetGuiElement= function (metaId: Integer): Boolean;register; type TSOPAD_DialogClear= function : Boolean;register; type TSOPAD_OverrideKey= function (KeyType: Integer; Data: Pointer; Size: Cardinal; Password, KeyAlias: PAnsiChar): Boolean;register; type TSOPAD_StartSignWithImage= function (AImage: HBITMAP): Boolean;register; type TSOPAD_UID_CreateFromStream= function (dialogDriverConfigurationXml, dialogName: PWideChar): Cardinal;register; type TSOPAD_UID_CreateFromFile= function (FileName, dialogName: PWideChar): Cardinal;register; type TSOPAD_UID_Release= procedure (DialogHandle: Cardinal);register; type TSOPAD_UID_SetName= function (DialogHandle: Cardinal; DialogName: PWideChar): Boolean;register; type TSOPAD_UID_GetStateIdByName= function (DialogHandle: Cardinal; State: PWideChar; StateId: PCardinal): Boolean;register; type TSOPAD_UID_GetStateIdByType= function (DialogHandle: Cardinal; State: Cardinal; StateId: PCardinal): Boolean;register; type TSOPAD_UID_SetState= function (DialogHandle: Cardinal; StateId: Cardinal): Boolean;register; type TSOPAD_UID_GetState= function( DialogHandle: Cardinal; StateId: PCardinal): Boolean; register; type TSOPAD_UID_DialogGetVariableId= function (DialogHandle: Cardinal; VariableName: PWideChar; VariableId: PCardinal): Boolean;register; type TSOPAD_UID_StateGetVariableId= function (DialogHandle, StateId: Cardinal; VariableName: PWideChar; VariableId: PCardinal): Boolean;register; type TSOPAD_UID_VariableGetName= function (DlgHandle: Cardinal; variableId: Cardinal; resultText: PWideChar; resultTextSize: Cardinal; reply:PCardinal): Boolean; register; type TSOPAD_UID_VariableGetValue= function (DialogHandle: Cardinal; VariableId: Cardinal; resultText: PWideChar; resultTextSize: Cardinal; reply:PCardinal): Boolean;register; type TSOPAD_UID_VariableSetValue= function (DialogHandle: Cardinal; VariableId: Cardinal; VariableValue: PWideChar): Boolean;register; type TSOPAD_UID_Run= function (DialogHandle: Cardinal; CheckHandler: Pointer; lParamameter: LPARAM): Boolean;register; type TSOPAD_UID_StateGetVariableCount= function (DlgHandle: Cardinal; stateId: Cardinal; variableCount: PCardinal): Boolean; register; type TSOPAD_UID_StateGetVariableIdByIndex= function (DlgHandle: Cardinal; stateId, AIndex: Cardinal; variableId: Pcardinal): Boolean; register; type TSOPAD_UID_DialogGetVariableCount= function (DlgHandle: Cardinal; variableCount: PCardinal): Boolean; register; type TSOPAD_UID_DialogGetDialogIdByIndex= function (DlgHandle: Cardinal; dialogIndex: Cardinal;ResDialogID: PCardinal): Boolean; register; type TSOPAD_UID_DriverGetDialogCount= function (DlgHandle: Cardinal; dialogCount: PCardinal): Boolean; register; type TSOPAD_UID_DriverGetDialogIdByIndex= function (DlgHandle: Cardinal; dialogIndex: Cardinal; ResDialogId: PCardinal): Boolean; register; type TSOPAD_ResetSignatureImageData= procedure ;register; type TSOPAD_setInkCollectionWindow= procedure (hwnd : cardinal; left, top, right, bottom : integer);register; type TSOPAD_DownloadPromoImage= function (ImageNumber : integer; ImageFilePath : PAnsiChar) : integer;register; type TSOPAD_UploadPromoImage= function (ImageNumber: integer; ImageFilePath: PAnsiChar): integer;register; type TSOPAD_RemovePromoImage= function (ImageNumber: integer): integer;register; type TSOPAD_SetLcdButtonOptions = function(ButtonCode, ComponentID, Enabled,Visible, Color: Integer ):integer; register; type TSOPAD_SetTCPConnectionOptions = function(arguments :PANSICHAR; arglen : integer):boolean; register; type TSOPDAD_SetSignatureLineColor= function (ModeType: integer; Color: Cardinal) :integer; register; type TSOPDAD_SignPadRefreshOptions = function (ModeType: integer): integer; register; type TSOPDAD_SignPadResetConfiguration = function(SoftResetStrategy: Cardinal) :integer;register; type TSOPDAD_GetVersion = function : ShortString; register; type TSOPDAD_SetConfigurationVariable = function ( Name: ShortString; Value: integer): integer; register; type TSOPDAD_GetConfigurationVariable = function ( Name: ShortString; var Value: integer): integer; register; type TSOPDAD_SetConfigurationVariableString = function ( Name: ShortString; Value: ShortString): integer; register; type TSOPDAD_GetConfigurationVariableString = function ( Name: ShortString; var Value: ShortString): integer; register; implementation //------------------------------------------------------------------------------ //MUG:: //------------------------------------------------------------------------------ end.