FKAttend.h 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296
  1. // FKAttend.h
  2. // Jeff.Create at 2014.07.12
  3. //
  4. #ifndef __FKATTEND_DLL_HEAD__
  5. #define __FKATTEND_DLL_HEAD__
  6. // ************************************************数据结构************************************************************ //
  7. // 1.
  8. #define MAX_BELLCOUNT_DAY 24
  9. // 响铃 信息 ;
  10. typedef struct tagBELLINFO
  11. {
  12. BYTE mValid[MAX_BELLCOUNT_DAY]; // 响铃设置有效标志 ;
  13. BYTE mHour[MAX_BELLCOUNT_DAY]; // 响铃时间(时) ;
  14. BYTE mMinute[MAX_BELLCOUNT_DAY]; // 响铃时间(分) ;
  15. } BELLINFO;
  16. //2.
  17. #define MAX_PASSCTRLGROUP_COUNT 50
  18. #define MAX_PASSCTRL_COUNT 7 // Pass Count Max Value ;
  19. typedef struct tagPASSTIME
  20. {
  21. BYTE StartMinute; // 开门时间(时) ;
  22. BYTE EndHour; // 开门时间(分) ;
  23. BYTE EndMinute; // 关门时间(时) ;
  24. BYTE StartHour; // 关门时间(分) ;
  25. } PASSTIME; // 一天的时间段信息(TimeZone) ;
  26. typedef struct tagPASSCTRLTIME
  27. {
  28. PASSTIME mPassCtrlTime[MAX_PASSCTRL_COUNT]; // 每天的时间段信息 ;
  29. } PASSCTRLTIME; // 一周的时间段信息(TimeZone) ;
  30. // 3.
  31. #define MAX_USERPASSINFO_COUNT 3
  32. typedef struct tagUSERPASSINFO
  33. {
  34. BYTE UserPassID[MAX_USERPASSINFO_COUNT]; // 时间段信息识别号码 ;
  35. } USERPASSINFO; // 给用户设置的时间段信息识别号码;
  36. // 4.
  37. #define MAX_GROUPPASSKIND_COUNT 5
  38. #define MAX_GROUPPASSINFO_COUNT 3
  39. typedef struct tagGROUPPASSINFO
  40. {
  41. BYTE GroupPassID[MAX_GROUPPASSINFO_COUNT]; // 时间段信息识别号码 ;
  42. } GROUPPASSINFO; // 时间段信息组合 ;
  43. // 5.
  44. #define MAX_GROUPMATCHINFO_COUNT 10
  45. typedef struct tagGroupMatchInfo
  46. {
  47. BYTE GroupMatch[MAX_GROUPMATCHINFO_COUNT];// 时间段信息组合的识别号码 ;
  48. } GROUPMATCHINFO; // 时间段信息组合的组合 ;
  49. // ************************************************数据结构************************************************************ //
  50. ///******************************************************************/
  51. ///* Constant */
  52. ///******************************************************************/
  53. ////=============== Protocol Type ===============//
  54. const int PROTOCOL_TCPIP = 0; // TCP/IP
  55. const int PROTOCOL_UDP = 1; // UDP
  56. ////=============== Backup Number Constant ===============//
  57. const int BACKUP_FP_0 = 0; // Finger 1
  58. const int BACKUP_FP_1 = 1; // Finger 2
  59. const int BACKUP_FP_2 = 2; // Finger 3
  60. const int BACKUP_PSW = 10; // Password
  61. const int BACKUP_CARD = 11; // Card
  62. ////=============== Manipulation of SuperLogData ===============//
  63. const int LOG_ENROLL_USER = 3 ; // Enroll-User
  64. const int LOG_ENROLL_MANAGER = 4 ; // Enroll-Manager
  65. const int LOG_ENROLL_DELFP = 5 ; // FP Delete
  66. const int LOG_ENROLL_DELPASS = 6 ; // Pass Delete
  67. const int LOG_ENROLL_DELCARD = 7 ; // Card Delete
  68. const int LOG_LOG_ALLDEL = 8 ; // LogAll Delete
  69. const int LOG_SETUP_SYS = 9 ; // Setup Sys
  70. const int LOG_SETUP_TIME = 10 ; // Setup Time
  71. const int LOG_SETUP_LOG = 11 ; // Setup Log
  72. const int LOG_SETUP_COMM = 12; // Setup Comm
  73. const int LOG_PASSTIME = 13 ; // Pass Time Set
  74. const int LOG_SETUP_DOOR = 14; // Door Set Log
  75. ////=============== VerifyMode of GeneralLogData ===============//
  76. const int LOG_FPVERIFY = 1 ; // Fp Verify
  77. const int LOG_PASSVERIFY = 2 ; // Pass Verify
  78. const int LOG_CARDVERIFY = 3; // Card Verify
  79. const int LOG_FPPASS_VERIFY = 4 ; // Pass+Fp Verify
  80. const int LOG_FPCARD_VERIFY = 5; // Card+Fp Verify
  81. const int LOG_PASSFP_VERIFY = 6 ; // Pass+Fp Verify
  82. const int LOG_CARDFP_VERIFY = 7; // Card+Fp Verify
  83. const int LOG_OPEN_DOOR = 10 ; // Door Open
  84. const int LOG_CLOSE_DOOR = 11; // Door Close
  85. const int LOG_OPEN_HAND = 12 ; // Hand Open
  86. const int LOG_OPEN_THREAT = 13 ; // Door Open threat
  87. const int LOG_PROG_OPEN = 14 ; // PC Open
  88. const int LOG_PROG_CLOSE = 15 ; // PC Close
  89. const int LOG_OPEN_IREGAL = 16 ; // Iregal Open
  90. const int LOG_CLOSE_IREGAL = 17 ; // Iregal Close
  91. const int LOG_OPEN_COVER = 18 ; // Cover Open
  92. const int LOG_CLOSE_COVER = 19; // Cover Close
  93. ////=============== IOMode of GeneralLogData ===============//
  94. const int LOG_IOMODE_IN = 0;
  95. const int LOG_IOMODE_OUT = 1;
  96. const int LOG_IOMODE_OVER_IN = 2; // = LOG_IOMODE_IO
  97. const int LOG_IOMODE_OVER_OUT = 3;
  98. ////=============== Machine Privilege ===============//
  99. const int MP_NONE = 0; // General user
  100. const int MP_ALL = 1; // Manager
  101. ////=============== Index of GetDeviceStatus ===============//
  102. const int GET_MANAGERS = 1;
  103. const int GET_USERS = 2;
  104. const int GET_FPS = 3;
  105. const int GET_PSWS = 4;
  106. const int GET_SLOGS = 5;
  107. const int GET_GLOGS = 6;
  108. const int GET_ASLOGS = 7;
  109. const int GET_AGLOGS = 8;
  110. const int GET_CARDS = 9;
  111. ////=============== Index of GetDeviceInfo ===============//
  112. const int DI_MANAGERS = 1; // Numbers of Manager
  113. const int DI_MACHINENUM = 2 ; // Device ID
  114. const int DI_LANGAUGE = 3 ; // Language
  115. const int DI_POWEROFF_TIME = 4 ; // Auto-PowerOff Time
  116. const int DI_LOCK_CTRL = 5 ; // Lock Control
  117. const int DI_GLOG_WARNING = 6 ; // General-Log Warning
  118. const int DI_SLOG_WARNING = 7 ; // Super-Log Warning
  119. const int DI_VERIFY_INTERVALS = 8 ; // Verify Interval Time
  120. const int DI_RSCOM_BPS = 9 ; // Comm Buadrate
  121. const int DI_DATE_SEPARATE = 10; // Date Separate Symbol
  122. //=============== Baudrate = value of DI_RSCOM_BPS ===============//
  123. const int BPS_9600 = 3;
  124. const int BPS_19200 = 4;
  125. const int BPS_38400 = 5;
  126. const int BPS_57600 = 6;
  127. const int BPS_115200 = 7;
  128. //=============== Product Data Index ===============//
  129. const int PRODUCT_SERIALNUMBER = 1; // Serial Number
  130. const int PRODUCT_BACKUPNUMBER = 2; // Backup Number
  131. const int PRODUCT_CODE = 3 ; // Product code
  132. const int PRODUCT_NAME = 4 ; // Product name
  133. const int PRODUCT_WEB = 5; // Product web
  134. const int PRODUCT_DATE = 6; // Product date
  135. const int PRODUCT_SENDTO = 7 ; // Product sendto
  136. //=============== Door Status ===============//
  137. const int DOOR_OPEND = 1;
  138. const int DOOR_CLOSED = 2;
  139. const int DOOR_COMMNAD = 3;
  140. //=============== Error code ===============//
  141. // ************************************************ 错误码 ************************************************************ //
  142. const int RUN_SUCCESS = 1; // 表示指令成功;
  143. const int RUNERR_NOSUPPORT = 0; // 表示机器不支持对应指令的错误代码;
  144. const int RUNERR_UNKNOWERROR = -1; // 表示不明错误代码;
  145. const int RUNERR_NO_OPEN_COMM = -2; // 表示机器没有连接的错误代码;
  146. const int RUNERR_WRITE_FAIL = -3; // 表示机器上不能传送数据的错误代码;
  147. const int RUNERR_READ_FAIL = -4; // 表示从机器上不能读数据;
  148. const int RUNERR_INVALID_PARAM = -5; // 表示读的参数不正确;
  149. const int RUNERR_NON_CARRYOUT = -6; // 表示指令失败;
  150. const int RUNERR_DATAARRAY_END = -7; // 表示读完数据的通知;
  151. const int RUNERR_DATAARRAY_NONE = -8; // 表示数据不存在;
  152. const int RUNERR_MEMORY = -9; // 表示PC的内存不足;
  153. const int RUNERR_MIS_PASSWORD = -10; // 表示连接机器许可号码是不正确;
  154. const int RUNERR_MEMORYOVER = -11; // 表示指纹机内存不足;
  155. const int RUNERR_DATADOUBLE = -12; // 表示要登记的号码已经在机器数据里存在;
  156. const int RUNERR_MANAGEROVER = -14; // 表示机器里没有内存空间,未能登记管理者数据;
  157. const int RUNERR_FPDATAVERSION = -15; // 表示要用的指纹数据的版本不正确;
  158. // ************************************************ 错误码 ************************************************************ //
  159. // 1.机器连接与断开--------------------------------------------------------------------------;
  160. typedef long (__stdcall *FK_ConnectComm)(long nMachineNumber, long nComPort, long nBaudRate, char *pstrTelNumber, long nWaitDialTime, long nLicense);
  161. typedef long (__stdcall *FK_ConnectNet)(long nMachineNumber, char * strIpAddress, long nPort, long nTimeOut, long nProtocolType, long nNetPassword, long nLicense);
  162. typedef long (__stdcall *FK_ConnectUSB)(long nMachineNumber, long nLicense);
  163. typedef void (__stdcall *FK_DisConnect)(long nHandIndex);
  164. // 2.登记数据管理(暂时不做,未用到)---------------------------------------------------------------
  165. typedef long (__stdcall *FK_GetEnrollData)(long nHandleIndex, long nEnrollNumber,long nBackupNumber,long *pnMachinePrivilege,void *pnEnrollData,long *pnPassWord );
  166. typedef long (__stdcall *FK_GetEnrollDataWithString)( long nHandleIndex,long nEnrollNumber,long nBackupNumber,long *pnMachinePrivilege,LPSTR *apstrEnrollData );
  167. typedef long (__stdcall *FK_PutEnrollData)( long nHandleIndex, long nEnrollNumber, long nBackupNumber, long nMachinePrivilege,void *pnEnrollData,long nPassWord );
  168. typedef long (__stdcall *FK_PutEnrollDataWithString)( long nHandleIndex,long nEnrollNumber,long nBackupNumber,long nMachinePrivilege, char *apstrEnrollData);
  169. typedef long (__stdcall *FK_SaveEnrollData)( long nHandleIndex);
  170. typedef long (__stdcall *FK_DeleteEnrollData)( long nHandleIndex, long nEnrollNumber, long nBackupNumber );
  171. typedef long (__stdcall *FK_USBReadAllEnrollDataFromFile)( long nHandleIndex,char *pstrFilePath );
  172. typedef long (__stdcall *FK_USBReadAllEnrollDataCount)( long nHandleIndex, long *pnValue );
  173. typedef long (__stdcall *FK_USBGetOneEnrollData)( long nHandleIndex, long *pnEnrollNumber,long *pnBackupNumber,long *pnMachinePrivilege,void *pnEnrollData, long *pnPassWord, long *pnEnableFlag );
  174. typedef long (__stdcall *FK_USBGetOneEnrollDataWithString)( long nHandleIndex, long * pnEnrollNumber,long *pnBackupNumber,long *pnMachinePrivilege,LPSTR *apstrEnrollData,long* pnEnableFlag );
  175. typedef long (__stdcall *FK_USBSetOneEnrollData)( long nHandleIndex, long nEnrollNumber, long nBackupNumber, long nMachinePrivilege, void * pnEnrollData, long nPassWord, long nEnableFlag );
  176. typedef long (__stdcall *FK_USBSetOneEnrollDataWithString)( long nHandleIndex, long nEnrollNumber,long nBackupNumber,long nMachinePrivilege, char *apstrEnrollData, long nEnableFlag );
  177. typedef long (__stdcall *FK_USBWriteAllEnrollDataToFile)( long nHandleIndex,char *pstrFilePath );
  178. typedef long (__stdcall *FK_ReadAllUserID)( long nHandleIndex );
  179. typedef long (__stdcall *FK_GetAllUserID)( long nHandleIndex, long *pnEnrollNumber,long *pnBackupNumber,long *pnMachinePrivilege,long *pnEnableFlag );
  180. typedef long (__stdcall *FK_EmptyEnrollData)( long nHandleIndex );
  181. typedef long (__stdcall *FK_ClearKeeperData)( long nHandleIndex );
  182. typedef long (__stdcall *FK_BenumbAllManager)(long nHandleIndex);
  183. // 3.记录数据管理---------------------------------------------------------------
  184. typedef long (__stdcall *FK_LoadSuperLogData)( long nHandleIndex,long nReadMark );
  185. typedef long (__stdcall *FK_USBLoadSuperLogDataFromFile)(long nHandleIndex, char *astrFilePath);
  186. typedef long (__stdcall *FK_GetSuperLogData)(long nHandleIndex, long *pnSEnrollNumber, long *pnGEnrollNumber, long *pnManipulation, long *pnBackupNumber, DATE *pnDateTime) ;
  187. typedef long (__stdcall *FK_EmptySuperLogData)(long nHandleIndex) ;
  188. typedef long (__stdcall *FK_LoadGeneralLogData)(long nHandleIndex, long nReadMark);
  189. typedef long (__stdcall *FK_USBLoadGeneralLogDataFromFile)(long nHandleIndex, char *pstrFilePath);
  190. typedef long (__stdcall *FK_GetGeneralLogData)(long nHandleIndex, long *pnEnrollNumber, long *pnVerifyMode, long *pnInOutMode, DATE *pnDateTime) ;
  191. typedef long (__stdcall *FK_EmptyGeneralLogData)(long nHandleIndex);
  192. // 4.机器管理------------------------------------------------------------------------------
  193. typedef long (__stdcall *FK_EnableUser)(long nHandleIndex, long nEnrollNumber, long nBackupNumber,long nEnableFlag) ;
  194. typedef long (__stdcall *FK_ModifyPrivilege)(long nHandleIndex, long nEnrollNumber, long nBackupNumber, long nMachinePrivilege);
  195. typedef long (__stdcall *FK_GetUserName)(long nHandleIndex, long nEnrollNumber, LPSTR *pstrUserName);
  196. typedef long (__stdcall *FK_SetUserName)(long nHandleIndex, long nEnrollNumber, char *pstrUserName);
  197. typedef long (__stdcall *FK_GetNewsMessage)(long nHandleIndex, long nNewsId, LPSTR *pstrNews);
  198. typedef long (__stdcall *FK_SetNewsMessage)(long nHandleIndex, long nNewsId, char *pstrNews);
  199. typedef long (__stdcall *FK_GetUserNewsID)(long nHandleIndex, long nEnrollNumber, long *pnNewsId);
  200. typedef long (__stdcall *FK_SetUserNewsID)(long nHandleIndex, long nEnrollNumber, long nNewsId);
  201. typedef long (__stdcall *FK_EnableDevice)(long nHandleIndex, unsigned char nEnableFlag);
  202. typedef long (__stdcall *FK_PowerOnAllDevice)(long nHandleIndex);
  203. typedef long (__stdcall *FK_PowerOffDevice)(long nHandleIndex);
  204. typedef long (__stdcall *FK_GetDeviceTime)(long nHandleIndex, DATE *pnDateTime);
  205. typedef long (__stdcall *FK_SetDeviceTime)(long nHandleIndex, DATE nDateTime);
  206. typedef long (__stdcall *FK_GetDeviceStatus)(long nHandleIndex, long nStatusIndex, long *pnValue);
  207. typedef long (__stdcall *FK_GetDeviceInfo)(long nHandleIndex, long nInfoIndex, long *pnValue);
  208. typedef long (__stdcall *FK_SetDeviceInfo)(long nHandleIndex, long nInfoIndex, long nValue) ;
  209. typedef long (__stdcall *FK_GetProductData)(long nHandleIndex, long nDataIndex, char *pstrValue);
  210. typedef long (__stdcall *FK_GetDeviceVersion)(long nHandleIndex, long *pnVersion);
  211. // 5.null-----------------------------------------------------------------------------
  212. //----------------------------------------------------------------------------------------------------------------
  213. // 1.机器连接与断开
  214. extern FK_ConnectComm g_ConnectComm;
  215. extern FK_ConnectNet g_ConnectNet;
  216. extern FK_ConnectUSB g_ConnectUSB;
  217. extern FK_DisConnect g_DisConnect;
  218. // 2.登记数据管理
  219. extern FK_GetEnrollData g_GetEnrollData;
  220. extern FK_GetEnrollDataWithString g_GetEnrollDataWithString;
  221. extern FK_PutEnrollData g_PutEnrollData;
  222. extern FK_PutEnrollDataWithString g_PutEnrollDataWithString;
  223. extern FK_SaveEnrollData g_SaveEnrollData;
  224. extern FK_DeleteEnrollData g_DeleteEnrollData;
  225. extern FK_USBReadAllEnrollDataFromFile g_USBReadAllEnrollDataFromFile;
  226. extern FK_USBReadAllEnrollDataCount g_USBReadAllEnrollDataCount;
  227. extern FK_USBGetOneEnrollData g_USBGetOneEnrollData;
  228. extern FK_USBGetOneEnrollDataWithString g_USBGetOneEnrollDataWithString ;
  229. extern FK_USBSetOneEnrollData g_USBSetOneEnrollData;
  230. extern FK_USBSetOneEnrollDataWithString g_USBSetOneEnrollDataWithString ;
  231. extern FK_USBWriteAllEnrollDataToFile g_USBWriteAllEnrollDataToFile;
  232. extern FK_ReadAllUserID g_ReadAllUserID;
  233. extern FK_GetAllUserID g_GetAllUserID;
  234. extern FK_EmptyEnrollData g_EmptyEnrollData;
  235. extern FK_ClearKeeperData g_ClearKeeperData;
  236. extern FK_BenumbAllManager g_BenumbAllManager;
  237. // 3.记录数据管理
  238. extern FK_LoadSuperLogData g_LoadSuperLogData;
  239. extern FK_USBLoadSuperLogDataFromFile g_USBLoadSuperLogDataFromFile;
  240. extern FK_GetSuperLogData g_GetSuperLogData;
  241. extern FK_EmptySuperLogData g_EmptySuperLogData;
  242. extern FK_LoadGeneralLogData g_LoadGeneralLogData;
  243. extern FK_USBLoadGeneralLogDataFromFile g_USBLoadGeneralLogDataFromFile;
  244. extern FK_GetGeneralLogData g_GetGeneralLogData;
  245. extern FK_EmptyGeneralLogData g_EmptyGeneralLogData;
  246. // 4.机器管理
  247. extern FK_EnableUser g_EnableUser;
  248. extern FK_ModifyPrivilege g_ModifyPrivilege;
  249. extern FK_GetUserName g_GetUserName;
  250. extern FK_SetUserName g_SetUserName;
  251. extern FK_GetNewsMessage g_GetNewsMessage;
  252. extern FK_SetNewsMessage g_SetNewsMessage;
  253. extern FK_GetUserNewsID g_GetUserNewsID;
  254. extern FK_SetUserNewsID g_SetUserNewsID;
  255. extern FK_EnableDevice g_EnableDevice;
  256. extern FK_PowerOnAllDevice g_PowerOnAllDevice;
  257. extern FK_PowerOffDevice g_PowerOffDevice;
  258. extern FK_GetDeviceTime g_GetDeviceTime;
  259. extern FK_SetDeviceTime g_SetDeviceTime;
  260. extern FK_GetDeviceStatus g_GetDeviceStatus;
  261. extern FK_GetDeviceInfo g_GetDeviceInfo;
  262. extern FK_SetDeviceInfo g_SetDeviceInfo;
  263. extern FK_GetProductData g_GetProductData;
  264. extern FK_GetDeviceVersion g_GetDeviceVersion;
  265. #endif