| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- #ifndef JZT998APBDEVCTRL_H
- #define JZT998APBDEVCTRL_H
- #include "log4vendor.h"
- #define MAX_PATH 260
- #define FP_ERROR_SUCCESS (1)
- //其中错误代码从-1~-100为系统保留错误代码,用户可以自行定义的错误代码范围为-101~-200。 其他错误号码保留。
- #define FP_ERROR_INVALID_PARAMETER (-1) // 参数错误。给定函数的参数有错误。
- #define FP_ERROR_NOT_ENOUGH_MEMORY (-2) // 内存分配失败。没有分配到足够的内存。
- #define FP_ERROR_NOT_SUPPORT_FUNCTION (-3) // 功能未开放。调用函数的功能没有实现。
- #define FP_ERROR_DEVICE_NOT_FOUND (-4) // 设备不存在。初始化的时候,检测到设备不存在。
- #define FP_ERROR_DEVICE_NOT_INIT (-5) // 设备未初始化。
- #define FP_ERROR_INVALIDE_CODE (-6) // 非法的错误号。
- #define FP_ERROR_NO_PRIVILEGE (-7) // 没有授权。
- //#define -8~-100 系统保留。
- #define FP_ERROR_BASE64 (-8) // BASE64编解码失败。
- #define FP_ERROR_EXCEPTION (-9) // 操作异常
- #define FP_ERROR_RESERVE (-10) // 系统保留
- #define FP_ERROR_MAC (-11) // MAC错误
- #define FP_ERROR_ID (-12) // 设备ID错误
- #define FP_ERROR_IMAGE (-13) // 图像错误
- #define FP_ERROR_FILE_NO_FOUND (-14) // 文件不存在
- //#define -101~-200 用户自定义。
- #define FP_ERROR_UNSUCCESS (-100) // 操作失败
- #define FP_ERROR_UNKNOWN (-101) // 未知错误
- #define FP_ERROR_DEVICECMD (-102) // 通讯错误
- #define FP_ERROR_TIMEOUT (-111) // 操作超时
- #define FP_ERROR_CANCEL (-112) // 操作取消
- #define FP_ERROR_IMAGE_NOTENOUGH (-115) // 图像不合格
- #define FP_ERROR_IS_BUSY (-116) // 设备正忙
- #define FP_ERROR_FINGER_VERIFY (-201) // 指纹比对失败
- #define FP_ERROR_FINGER_EXTRACT (-202) // 合成特征失败
- #define FP_ERROR_FINGER_ENROLL (-203) // 合成模板失败
- #define FP_ERROR_FINGER_ILLEGAL (-204) // 非法指纹数据
- #define FP_ERROR_INVALID_TEMPLATE (-205) // 模板参数错误
- #define FP_ERROR_INVALID_FEATURE (-206) // 特征参数错误
- // 设备
- typedef char* ( *lpFPIGetErrorInfo )(int nRetCode);
- typedef int ( *lpFPIDeviceInit)(void);
- typedef int ( *lpFPIDeviceClose)(void);
- typedef int (*lpFPIGetFingerprintAndMatch)(char *psRegBuf, int nTimeout);
- typedef int (*lpFPIGetFeature)(int nFinPos, int nTimeout, char *psVerBuf);
- typedef int (*lpFPIGetTemplate)(int nFinPos, int nTimeout, char *psRegBuf);
- typedef int (*lpFPIFingerImageDecompress)(char *psCompressedFI,int nTimeout, char *psUnCompressedFI);
- typedef int (*lpFPIMatch)( char *psRegBuf, char *psVerBuf, int iLevel);
- typedef int (*lpFPIGetVersion)( char *psRegBuf, char *psVerBuf);
- typedef int (*lpFPIImg2Bmp)(int nTimeOut, char* psBmpFile);
- typedef int (*lpFPIBmp2Feature)(int nFinPos, char* psImgPath1, char* psTZ, int* lpLength);
- typedef int (*lpFPIBmp2Template)(int nFinPos, char *psImgPath1, char *psImgPath2, char *psImgPath3, char *psMB, int *lpLength);
- typedef void( *lpFPICancel)();
- class CDevDllLoad
- {
- public:
- CDevDllLoad(char * dllpath);
- virtual ~CDevDllLoad();
- public:
- int InitDLL();
- int FreeDLL();
- private:
- char m_dllpath[MAX_PATH];
- void *dp_dev=nullptr;
- lpFPIGetErrorInfo apiFPIGetErrorInfo;
- lpFPIDeviceInit apiFPIDeviceInit;
- lpFPIDeviceClose apiFPIDeviceClose;
- lpFPIGetFingerprintAndMatch apiFPIGetFingerprintAndMatch;
- lpFPIGetFeature apiFPIGetFeature;
- lpFPIGetTemplate apiFPIGetTemplate;
- lpFPIFingerImageDecompress apiFPIFingerImageDecompress;
- lpFPIMatch apiFPIMatch;
- lpFPIGetVersion apiFPIGetVersion;
- lpFPIImg2Bmp apiFPIImg2Bmp;
- lpFPIBmp2Feature apiFPIBmp2Feature;
- lpFPIBmp2Template apiFPIBmp2Template;
- lpFPICancel apiFPICancel;
- public:
- char* FPIGetErrorInfo(int nRetCode);
- int FPIDeviceInit();
- int FPIDeviceClose();
- // 获取固件版本
- int FPIGetVersion(char *psRegBuf, char *psVerBuf);
- // 采集指纹图像到硬盘
- int FPIImg2Bmp(char *psImgPath);
- // BMP图像文件转为指纹特征
- int FPIBmp2Feature(char *psImgPath, char *psTZ, int *lpLength);
- // BMP图像文件转为指纹模板
- int FPIBmp2Template(char *psImgPath1, char *psImgPath2, char *psImgPath3, char *psMB, int *lpLength);
- // 指纹比对
- int FPIMatch(char *psMB, char *psTZ, int iLevel);
- // 取消当前操作
- int FPICancel();
- };
- #endif // JZT998APBDEVCTRL_H
|