Zkemsdk Manual

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 59

Development Manual for Communication Development Kit of ZK

Offline Serial Products

CATALOG
1.

DESCRIPTION OF THE OFFLINE DEVELOPMENT KIT ..................................................................................... 1

2.

SDK INSTALLATION .................................................................................................................................................... 2


3.1 FILE DIRECTORY ............................................................................................................................................................... 2
3.2 HOW TO INSTALL THE PRODUCT ........................................................................................................................................ 2

3.

FUNCTION ...................................................................................................................................................................... 2
3.1 DATA MANAGEMENT ........................................................................................................................................................ 2
3.1.1 BackupData............................................................................................................................................................... 2
3.1.2 RestoreData............................................................................................................................................................... 3
3.1.3 ClearAdministrators .................................................................................................................................................. 3
3.1.4 ClearAdministrators .................................................................................................................................................. 3
3.1.5 ClearGLog................................................................................................................................................................. 4
3.1.6 ClearSLog ................................................................................................................................................................. 4
3.1.7 DeleteEnrollData....................................................................................................................................................... 4
3.1.8 DelUserTmp.............................................................................................................................................................. 5
3.1.9 FPTempConvertNew................................................................................................................................................. 6
3.1.10 FPTempConvertNewStr .......................................................................................................................................... 6
3.1.11 FPTempConvertStr.................................................................................................................................................. 7
3.1.12 FPTempConvert ...................................................................................................................................................... 8
3.1.13 GetPIN2 .................................................................................................................................................................. 8
3.1.14 GetUserInfo............................................................................................................................................................. 8
3.1.15 SetUserInfo ............................................................................................................................................................. 9
3.1.16 GetUserIDByPIN2 ................................................................................................................................................ 10
3.1.17 GetFPTempLengthStr ........................................................................................................................................... 10
3.1.18 GetUserInfoByPIN2.............................................................................................................................................. 11
3.1.19 GetUserInfoByCard .............................................................................................................................................. 11
3.1.20 GetSMS................................................................................................................................................................. 12
3.1.21 SetSMS ................................................................................................................................................................. 12
3.1.22 GetEnrollDataStr................................................................................................................................................... 13
3.1.23 SetEnrollDataStr ................................................................................................................................................... 14
3.1.24 GetGeneralLogDataStr.......................................................................................................................................... 14
3.1.25 GetUserTmpStr ..................................................................................................................................................... 15
3.1.26 SetUserTmpStr...................................................................................................................................................... 16
3.1.27 GetAllUserInfo...................................................................................................................................................... 16
3.1.28 GetUserTmp.......................................................................................................................................................... 17
3.1.29 SetUserTmp .......................................................................................................................................................... 18
3.1.30 GetAllUserID ........................................................................................................................................................ 18
3.1.31 GetBackupNumber................................................................................................................................................ 19
3.1.32 GetFPTempLength ................................................................................................................................................ 19
3.1.33 GetSuperLogData.................................................................................................................................................. 20
3.1.34 GetAllSLogData.................................................................................................................................................... 22
3.1.35 GetAllGLogData................................................................................................................................................... 22
3.1.36 GetEnrollData ....................................................................................................................................................... 23
3.1.37 SetEnrollData ........................................................................................................................................................ 24
3.1.38 ModifyPrivilege .................................................................................................................................................... 24
1

3.1.39 PINWidth .............................................................................................................................................................. 25


3.1.40 ReadSuperLogData ............................................................................................................................................... 25
3.1.41 ReadAllSLogData ................................................................................................................................................. 25
3.1.42 ReadGeneralLogData............................................................................................................................................ 26
3.1.43 ReadAllGLogData ................................................................................................................................................ 26
3.1.44 ReadAllTemplate .................................................................................................................................................. 26
3.1.45 RefreshData........................................................................................................................................................... 27
3.1.46 ReadAllUserID...................................................................................................................................................... 27
3.2 ACCESS CONTROL........................................................................................................................................................... 27
3.2.1 ACUnlock ............................................................................................................................................................... 27
3.2.2 EnableUser.............................................................................................................................................................. 28
3.2.3 GetUserTZs............................................................................................................................................................. 28
3.2.4 SetUserTZs ............................................................................................................................................................. 29
3.2.5 GetUserGroup ......................................................................................................................................................... 29
3.2.6 SetUserGroup.......................................................................................................................................................... 30
3.2.7 GetACFun ............................................................................................................................................................... 30
3.2.8 GetTZInfo ............................................................................................................................................................... 31
3.2.9 SetTZInfo ................................................................................................................................................................ 31
3.2.10 GetUnlockGroups ................................................................................................................................................. 32
3.2.11 SetUnlockGroups .................................................................................................................................................. 32
3.2.12 GetGroupTZs ........................................................................................................................................................ 32
3.2.13 GetGroupTZStr ..................................................................................................................................................... 33
3.2.14 GetGroupTZStr ..................................................................................................................................................... 33
3.2.15 SetGroupTZStr...................................................................................................................................................... 34
3.2.16 GetUserTZStr........................................................................................................................................................ 34
3.2.17 SetUserTZStr ........................................................................................................................................................ 35
3.3 MACHINE OPTIONS ......................................................................................................................................................... 35
3.3.1 Beep ........................................................................................................................................................................ 35
3.3.2 ClearLCD................................................................................................................................................................ 36
3.3.3 Connect_Com ......................................................................................................................................................... 36
3.3.4 Connect_Net ........................................................................................................................................................... 36
3.3.5 DisableDeviceWithTimeOut ................................................................................................................................... 37
3.3.6 Disconnect............................................................................................................................................................... 37
3.3.7 EnableDevice .......................................................................................................................................................... 38
3.3.8 EnableClock............................................................................................................................................................ 38
3.3.9 GetDeviceStatus...................................................................................................................................................... 38
3.3.10 GetDeviceInfo....................................................................................................................................................... 39
3.3.11 GetWiegandDefine................................................................................................................................................ 41
3.3.12 GetDeviceIP .......................................................................................................................................................... 41
3.3.13 SetDeviceIP........................................................................................................................................................... 41
3.3.14 GetDeviceMAC .................................................................................................................................................... 42
3.3.15 GetDeviceTime ..................................................................................................................................................... 42
3.3.16 GetSerialNumber .................................................................................................................................................. 43
3.3.17 GetProductCode .................................................................................................................................................... 43
3.3.18 GetFirmwareVersion ............................................................................................................................................. 43
3.3.19 GetSDKVersion..................................................................................................................................................... 44
3.3.20 PowerOnAllDevice ............................................................................................................................................... 44
3.3.21 PowerOffDevice.................................................................................................................................................... 44
2

3.3.22 PlayVoiceByIndex................................................................................................................................................. 45
3.3.23 QueryState............................................................................................................................................................. 45
3.3.24 RestartDevice ........................................................................................................................................................ 45
3.3.25 SetDeviceInfo........................................................................................................................................................ 46
3.3.26 SetDeviceTime...................................................................................................................................................... 46
3.3.27 SetDeviceTime2.................................................................................................................................................... 47
3.3.28 SetDeviceMAC ..................................................................................................................................................... 47
3.3.29 SetWiegandDefine ................................................................................................................................................ 48
3.3.30 SetCommPassword ............................................................................................................................................... 48
3.3.31 UpdateFirmware.................................................................................................................................................... 48
3.3.32 WriteLCD.............................................................................................................................................................. 49
3.4 OTHERS .......................................................................................................................................................................... 49
3.4.1 CaptureImage .......................................................................................................................................................... 49
3.4.2 CancelOperation...................................................................................................................................................... 50
3.4.3 GetLastError ........................................................................................................................................................... 50
3.4.4 StartVerify ............................................................................................................................................................... 51
3.4.5 StartEnroll ............................................................................................................................................................... 51
3.4.6 StartIdentify ............................................................................................................................................................ 52

4.

SOLUTIONS TO FREQUENTLY ASKED QUESTIONS, FAQ.......................................................................... 52


4.1 How to download attendance record ....................................................................................................................... 52
4.2 How to create user online ........................................................................................................................................ 52
4.3 Data import and download for U disk ..................................................................................................................... 53
4.4 BIOKEY collect fingerprint template and write in offline .................................................................................... 53
4.5 Get all the information of all users .......................................................................................................................... 53
4.6 Machine connection ................................................................................................................................................. 53
4.7 Password is unusable after SetUserInfo .................................................................................................................. 53
4.8 Conversion from Online template to offline template ........................................................................................... 53
4.9 Demo program cannot connect the machine .......................................................................................................... 54
4.10 Offline fingerprint machine is in the operation mode after connection .............................................................. 54
4.11 Details are needed to be paid attention to when complex font letters are written in offline fingerprint machine
......................................................................................................................................................................................... 54

5.

AFTER-SALES SERVICE FOR SOFTWARE ....................................................................................................... 55

1. Description of the Offline Development Kit


Offline Communication Development Kit is an interface program for data communication with an offline fingerprint
machine. It is a development kit that can be easily used to manage user information & fingerprints and to download
cardpunch logs on offline fingerprint machine as well as to manage settings and configuration for access control. Main
features:
1. Download cardpunch logs on fingerprint machine.
2. Download and upload user information, card information and fingerprints.
3. Set fingerprint access control machine.
4. Configurations, such as setting time of offline fingerprint machine and matching threshold.
5. Excite real time the events of offline fingerprint machine such as pressing fingerprint, verifying and approving, etc.
(pending perfection).
6. It can be used to set Message (available for the model with expressly description).

2. SDK Installation
3.1 File Directory
1
2
3

3.2 How to install the product


Copy all dll files to system directory under System32. Click Start to run regsvr32 zkemkeeper.dll, and insert the
Control into the development tool by easily moving to make it usable at once after successfully register.
Instruction
C Language syntax is applied to illustrate function Protocol, vb syntax applied to exemplify the function features. A
function is categorized based on its feature. For example: CZKEM1 is the name of Control, machineNumber defined as a
machine No., and SDK is the default offline development kit.

3. Function
3.1 Data Management
3.1.1 BackupData
[Protocol]
VARIANT_BOOL BackupData([in] BSTR DataFile)
[Feature]
Save user information, fingerprint and log as files.

[Parameter Declaration]
DataFile
The path name for saving file may be expressed with disk drive letter such as c:\aaa.bak.
[Returned Value]
Return True for success, or otherwise False.
[Example]
Dim dataFile
dataFile = "c:\AAA.bak"
2

CZKEM1.BackupData dataFile
[Instruction]
This function can be available with RestoreData.

3.1.2 RestoreData
[Protocol]
VARIANT_BOOL RestoreData([in] BSTR DataFile)
[Feature]
Restore machine data from a backup file.
[Parameter Declaration]
DataFile
Data file refers to the backup data file under function BackupData such as c:\xxx.
[Returned Value]
Return True for success, or otherwise False.
[Example]
Dim dataFile
dataFile = "c:\AAA.bat"
CZKEM1.BackupData dataFile
[Instruction]
Normal serial-port communication usually takes more time while restoring machine data using the function.

3.1.3 ClearAdministrators
[Protocol]
VARIANT_BOOL ClearAdministrators([in] LONG dwMachineNumber)
[Feature]
Clear the access permission of all administrators.
[Parameter Declaration]
dwMachineNumber
Number of a machine to be operated
[Returned Value]
Return True for success, or otherwise False.
[Example]
CZKEM1.ClearAdministrators MACHINENUMBER
[Instruction]
This function is used to delete administrators access permission only and not to delete a corresponding user
(administrator is a special user).

3.1.4 ClearAdministrators
[Protocol]
VARIANT_BOOL ClearAdministrators([in] LONG dwMachineNumber)
3

[Feature]
Clear all data in offline fingerprint machine.
[Parameter Declaration]
dwMachineNumber
Number of a machine to be operated
[Returned Value]
Return True for success, or otherwise False.
[Example]
CZKEM1.ClearKeeperData MACHINENUMBER
[Instruction]
This function is used to empty all data in offline fingerprint machine, so be careful in use.

3.1.5 ClearGLog
[Protocol]
VARIANT_BOOL ClearGLog([in] LONG dwMachineNumber)
[Feature]
Clear all attendance records.
[Parameter Declaration]
dwMachineNumber
Number of a machine to be operated
[Returned Value]
Return True for success, or otherwise False.
[Example]
CZKEM1.ClearGLog MACHINENUMBER

3.1.6 ClearSLog
[Protocol]
VARIANT_BOOL ClearSLog([in] LONG dwMachineNumber)
[Feature]
Clear all management records.
[Parameter Declaration]
dwMachineNumber
Number of a machine to be operated
[Returned Value]
Return True for success, or otherwise False.
[Example]
CZKEM1.ClearSLog MACHINENUMBER

3.1.7 DeleteEnrollData
[Protocol]
4

VARIANT_BOOL DeleteEnrollData([in] LONG dwMachineNumber, [in] LONG dwEnrollNumber, [in] LONG


dwEMachineNumber, [in] LONG dwBackupNumber)
[Feature]
Delete fingerprint template for a user.
[Parameter Declaration]
dwMachineNumber
Number of a machine to be operated
dwEnrollNumber
User registered number
dwEMachineNumber
Number of machine to be operated
dwBackupNumber
Refer to Specification for more information of user backup number.
[Returned Value]
Return True for success, or otherwise False.
[Example]
Dim dwEnrollNumber As Integer
Dim dwEmachineNumber As Integer
Dim dwBackupNumber As Integer
dwEnrollNumber = 1
dwEmachineNumber = 1
CZKEM1.DeleteEnrollData MACHINENUMBER, dwEnrollNumber, dwEmachineNumber, dwBackupNumber
[Instruction]
User Backup Number is used to name the user fingerprint template that records many fingerprints. If user has register
two fingerprints, the 2nd fingerprint template is to be deleted, and then dwBackupNumber is defined as 1, and the rest is
deduced by analogy. If dwBackupNumber is larger than 9, it means that 10 is for password data, and 11 is for all fingerprint
data, and 12 is for all Fingerprint and Password Data

3.1.8 DelUserTmp
[Protocol]
VARIANT_BOOL DelUserTmp([in] LONG dwMachineNumber, [in] LONG dwEnrollNumber, [in] LONG
dwFingerIndex)
[Feature]
Deleting information on user fingerprint template is the same as the function DeleteEnrollData.
[Parameter Declaration]
dwFingerIndex
Fingerprint number registered by user ranges from 0 to , i.e. 10 fingers. Please refer to descriptions for function
DeleteEnrollData for other parameters.
[Returned Value]
Return True for success, or otherwise False.
[Example]
Dim dwEnrollNumber As Integer
Dim dwFingerIndex As Integer

dwEnrollNumber = 1
dwFingerIndex = 0
CZKEM1.DelUserTmp MACHINENUMBER, dwEnrollNumber, dwFingerIndex
[Instruction]
This function is the latest SDK function. DeleteEnrollData is defined for compatibility.

3.1.9 FPTempConvertNew
[Protocol]
VARIANT_BOOL FPTempConvertNew([in] BYTE* TmpData1, [in] BYTE* TmpData2, [in] LONG *Size)
[Feature]
Convert Biokey SDK template into fingerprint template used by offline fingerprint machine.
[Parameter Declaration]
TmpData1
Template Needed to Convert
TmpData2
Converted Fingerprint Template
Size
Converted Template Length
[Returned Value]
Return True for success, or otherwise False.
[Example]
Dim tmpData1(1024) As Byte
Dim tmpdata2(1024) As Byte
Dim size As Integer
CZKEM1.GetUserTmp MACHINENUMBER, 1, 0, tmpData1(0), size
CZKEM1.FPTempConvertNew tmpData1(0), tmpdata2(0), size
Explanation: fingerprint template of this example is picked-up from offline fingerprint machine. When using, fingerprint
template can be picked up from online fingerprint sampler for the convenience of example.
[Instruction]
One byte array is needed to pass to parameter temData1 in the above programs used for example. tmpData1(0) means
passing address, i.e. pass to binary variable in whole.
For the purpose of convenience, it is recommended that the function FPTempConvertNewStr should be used for conversion
since binary system is not easy to process. In addition, function FPTempConvert converts offline template into BIOKEY
SDK template.

3.1.10 FPTempConvertNewStr
[Protocol]
VARIANT_BOOL FPTempConvertNewStr([in] BSTR TmpData1, [in] BSTR* TmpData2, [in] LONG *Size)
[Feature]
6

Convert BIOKEY SDK template into fingerprint template in offline fingerprint machine in the form of character string.
[Parameter Declaration]
TmpData1
Template Needed to Convert
TmpData2
Template Needed to Convert
Size
Converted Template Length
[Returned Value]
Return True for success, or otherwise False.
[Example]
Dim tmpData1
Dim tmpdata2 As String
Dim size As Integer
tmpData1="re2df3fd4fsfsfsddfnCTRXERcIQnkA8ghQqLUTCDBikWAIJGdKhTggWdMsDECE32o1RIqxm4wf3fwY
fsMCNDFWdFDfJosIN"
CZKEM1.FPTempConvertNewStr tmpData1, tmpdata2, size

3.1.11 FPTempConvertStr
[Protocol]
VARIANT_BOOL FPTempConvertStr([in] BSTR TmpData1, [in] BSTR* TmpData2, [in] LONG *Size)
[Feature]
Convert fingerprint template in offline fingerprint machine into BIOKEY SDK template in the form of character string.
[Parameter Declaration]
TmpData1
Template Needed to Convert
TmpData2
Template Needed to Convert
Size
Converted Template Length
[Returned Value]
Return True for success, or otherwise False.
[Example]
Dim tmpData1
Dim tmpdata2 As String
Dim size As Integer
tmpData1 = "o0o0aoaoaoaaaa0oaooa"
CZKEM1.FPTempConvertStr tmpData1, tmpdata2, size

3.1.12 FPTempConvert
[Protocol]
VARIANT_BOOL FPTempConvert([in] BYTE* TmpData1, [in] BYTE* TmpData2, [in] LONG *Size)
[Feature]
Convert fingerprint template in offline fingerprint machine into BIOKEY SDK template.
[Parameter Declaration]
TmpData1
Template Needed to Convert
TmpData2
Converted Fingerprint Template
Size
Converted Template Length
[Returned Value]
Return True for success, or otherwise False.
[Example]
Please refer to Demo.

3.1.13 GetPIN2
[Protocol]
VARIANT_BOOL GetPIN2([in] LONG UserID, [in] LONG* PIN2)
[Feature]
Get user PIN2 value by User Registration Number.
[Parameter Declaration]
UserID
Distributed Number when user registers
PIN2
User ID exceeding 5 digits
[Returned Value]
Return True for success, or otherwise False.
[Example]
Dim userID As Integer
Dim pin3 As Integer
userID = 1
CZKEM1.GetPIN2 userID, pin2
[Instruction]
PIN2 are mainly used for user ID exceeding 5 digits and for development.This function has no actual meaning.

3.1.14 GetUserInfo
[Protocol]
8

VARIANT_BOOL GetUserInfo([in] LONG dwMachineNumber, [in] LONG dwEnrollNumber, [in] BSTR * Name, [in]
BSTR * Password, [in] LONG * Privilege, [in] VARIANT_BOOL * Enabled)
[Feature]
Get user information by User Registration Number.
[Parameter Declaration]
Please refer to SetUserInfo.
[Returned Value]
Return True for success, or otherwise False.
[Example]
Dim dwEnrollNumber
Dim name As String
Dim password As String
Dim privileg As Integer
Dim enable As Boolean
dwEnrollNumber = 1
CZKEM1.GetUserInfo machineNumber, dwEnrollNumber, name, password, privileg, enable

3.1.15 SetUserInfo
[Protocol]
VARIANT_BOOL SetUserInfo([in] LONG dwMachineNumber, [in] LONG dwEnrollNumber, [in] BSTR Name, [in]
BSTR Password, [in] LONG Privilege, [in] VARIANT_BOOL Enabled)
[Feature]
Equal to register a user and write in personal information of user.
[Parameter Declaration]
dwEnrollNumber
User Registration Number
Name
User Name
Password
User Password
Privilege
User Authority: 0 for Normal User; 1 for Registrant; 2 for Administrator and 3 for Super Administrator.
Enabled
Whether user is prohibited, and false is for prohibition.
[Returned Value]
Return True for success, or otherwise False.
[Example]
Dim dwEnrollNumber As Integer
Dim name As String
Dim password As String
Dim privileg As Integer
Dim enabled As Boolean

dwEnrollNumber = 1
name = "Beetfuxi pei"
password = "12"
privileg = 3
enabled = True
CZKEM1.SetUserInfo MACHINENUMBER, CInt(dwEnrollNumber), CStr(name), CStr(password), CInt(privileg),
CBool(enabled)
[Instruction]
The function of this function equals to register user without having written in fingerprint template. Function SetUsertmpStr
can be used to write in data of fingerprint template.

3.1.16 GetUserIDByPIN2
[Protocol]
VARIANT_BOOL GetUserIDByPIN2([in] LONG PIN2, [in] LONG* UserID)
[Feature]
Get user PIN2 value by User Registration Number.
[Parameter Declaration]
UserID
Distributed Number when user registers
PIN2
User ID exceeding 5 digits
[Returned Value]
Return True for success, or otherwise False.
[Example]
Dim pin2 As Integer
Dim userID As Integer
pin2 = 1
CZKEM1.GetUserIDByPIN2 pin2, userID
[Instruction]
This function has no actual meaning.

3.1.17 GetFPTempLengthStr
[Protocol]
LONG GetFPTempLengthStr([in] BSTR dwEnrollData)
[Feature]
Get fingerprint template length.
[Parameter Declaration]
dwEnrollData
One Fingerprint Template
[Returned Value]
Fingerprint Template Length
10

[Example]
Please refer to Demo for getting binary fingerprint template.

3.1.18 GetUserInfoByPIN2
[Protocol]
VARIANT_BOOL GetUserInfoByPIN2([in] LONG dwMachineNumber, [in] BSTR * Name, [in] BSTR * Password,
[in] LONG * Privilege, [in] VARIANT_BOOL * Enabled)
[Feature]
Get user information by PIN2 value.
[Parameter Declaration]
dwMachineNumber
Machine Number
Name
User Name
Password
User Password
Privilege
User Authority
Enabled
User is disable or enable.
[Returned Value]
Return True for success, or otherwise False.
[Example]
Dim name As String
Dim password As String
Dim privilege As Integer
Dim enabled As Boolean
name = "Beetfuxi"
CZKEM1.GetUserInfoByPIN2 MACHINENUMBER, name, password, privilege, enabled
[Instruction]
This function has been removed because it has no actual use.

3.1.19 GetUserInfoByCard
[Protocol]
VARIANT_BOOL GetUserInfoByCard([in] LONG dwMachineNumber, [in] BSTR * Name, [in] BSTR * Password,
[in] LONG * Privilege, [in] VARIANT_BOOL * Enabled)
[Feature]
Get user information by card number.
[Parameter Declaration]
Please refer to function GetUserInfoByPIN2.
[Returned Value]
11

Return True for success, or otherwise False.


[Example]
Dim name As String
Dim password As String
Dim privilege As Integer
Dim enabled As Boolean
CZKEM1.GetUserInfoByCard MACHINENUMBER, name, password, privilege, enabled

3.1.20 GetSMS
[Protocol]
VARIANT_BOOL GetSMS([in] LONG dwMachineNumber, [in] LONG *ID, [in] LONG Tag, [in] BSTR StartTime,
[in] BSTR content)
[Feature]
Get short message by serial number.
[Parameter Declaration]
ID
Serial Number of Short Message
Tag
Type of short message: 253 is for public short message and 254 is for user short message.
StartTime
Format of start time of short message is standard, such as YYYY-MM-DD HH: NN.
Content
Content of Short Message
[Returned Value]
Return True for success, or otherwise False.
[Example]
Dim Tag As Long
Dim ValidMinutes As Long
Dim StartTime As String
Dim Content As String
CZKEM1.GetSMS MACHINENUMBER, 0, Tag, ValidMinutes, StartTime, Content

3.1.21 SetSMS
[Protocol]
VARIANT_BOOL SetSMS([in] LONG dwMachineNumber, [in] LONG *ID, [in] LONG Tag, [in] BSTR StartTime,
[in] BSTR content)
[Feature]
Write in short message.
[Parameter Declaration]
Please refer to explanation of function GetSMS.
[Example]
12

Dim Tag As Long


Dim StartTime As String
Dim Content As String
CZKEM1.GetSMS MachineNumber, Val(textID.Text), Tag, ValidMinutes, StartTime, Content
[Instruction]
This function only writes short message in machine, not for one user.

3.1.22 GetEnrollDataStr
[Protocol]
VARIANT_BOOL GetEnrollDataStr([in] LONG dwMachineNumber,[in] LONG dwEnrollNumber, [in] LONG
dwEMachineNumber, [in] LONG dwBackupNumber, [in] LONG* dwMachinePrivilege, [in] BSTR* dwEnrollData, [in]
LONG* dwPassWord)
[Feature]
Get user information, including data of fingerprint template.
[Parameter Declaration]
dwEnrollNumber and dwEMachineNumber are the same machine number.
dwBackupNumber
For Fingerprint Backup Number, please refer to explanation of function DeleteEnrollDate.
DwMachinePrivilege
User Authority
DwEnrollData
Fingerprint data is expressed by character string.
DwPassWord
User Password
[Returned Value]
Return True for success, or otherwise False.
[Example]
Dim dwEnrollNumber As Integer
Dim dwEmachineNumber As Integer
Dim dwBackupNumber As Integer
Dim dwMachinePrivilege As Integer
Dim dwEnrollData As String
Dim dwPassWord As Integer
dwEnrollNumber = 1
dwEmachineNumber = 1
CZKEM1.GetEnrollDataStr MACHINENUMBER, dwEnrollNumber, dwEmachineNumber, dwBackupNumber,
dwMachinePrivilege, dwEnrollData, dwPassWord

13

3.1.23 SetEnrollDataStr
[Protocol]
VARIANT_BOOL SetEnrollDataStr([in] LONG dwMachineNumber, [in] LONG dwEnrollNumber, [in] LONG
dwEMachineNumber, [in] LONG dwBackupNumber, [in] LONG dwMachinePrivilege, [in] BSTR dwEnrollData, [in]
LONG dwPassWord)
[Feature]
User fingerprint template is written in character string.
[Parameter Declaration]
Please refer to explanation of function SetUserTmp.
[Returned Value]
Return True for success, or otherwise False.
[Example]
Dim dwEnrollNumber As Integer
Dim dwEmachineNumber As Integer
Dim dwBackupNumber As Integer
Dim dwMachinePrivilege As Integer
Dim dwEnrollData
Dim dwPassWord As Integer
dwEnrollNumber = 1
dwEmachineNumber = 1
dwBackupNumber = 1
dwMachinePrivilege = 1
dwEnrollData = "32131opkdfopfd"
dwPassWord = 1
CZKEM1.SetEnrollDataStr MACHINENUMBER, dwEnrollNumber, dwEmachineNumber, dwBackupNumber,
dwMachinePrivilege, dwEnrollData, dwPassWord

3.1.24 GetGeneralLogDataStr
[Protocol]
VARIANT_BOOL GetGeneralLogDataStr([in] LONG dwMachineNumber, [in] LONG* dwEnrollNumber, [in]
LONG* dwVerifyMode, [in] LONG* dwInOutMode, [in] BSTR *TimeStr)
[Feature]
A data of attendance record is gotten from computer memory.
[Parameter Declaration]
Value Description
1 Fingerprint
2 Password
Attendance status is described as follows:
Value Description
0

On-duty

Off-duty

Check out for going out


14

Check in for going out

4
5

Check in for working overtime


Check out for working overtime

[Returned Value] Return True for success, or otherwise False.


[Example]
Dim dwEnrollNumber As LONG
Dim dwVerifyMode As LONG
Dim dwInOutMode As LONG
Dim timeStr As String
Dim i As Long
dwEnrollNumber = 1
CZKEM1.ReadAllGLogData machineNumber
i=i+1
while CZKEM1.GetGeneralLogDataStr(machineNumber, dwEnrollNumber, dwVerifyMode, dwInOutMode, timeStr)
MsgBox "get success " & i & " times"
i=i+1
Wend

3.1.25 GetUserTmpStr
[Protocol]

VARIANT_BOOL GetUserTmpStr([in] LONG dwMachineNumber,[in] LONG


dwEnrollNumber,[in] LONG dwFingerIndex, [in] BSTR* TmpData, [in] LONG *
TmpLength)
[Feature] Get user information of fingerprint template in character string.
[Parameter Declaration]
dwFingerIndex
The range of fingerprint index is between 0 and 9.
TmpData
Information of Fingerprint Template
TmpLength
Fingerprint Template Length
[Returned Value] Return True for success, or otherwise False.
[Example]

Dim
Dim
Dim
Dim

dwEnrollNumber As Integer
dwFingerIndex As Integer
tmpData As String 'Finger data of enroll
tmpLength As Integer

dwEnrollNumber = 1
dwFingerIndex = 0
CZKEM1.GetUserTmpStr MACHINENUMBER, dwEnrollNumber, dwFingerIndex,
tmpData, tmpLength
[Instruction]
This function is suggested to get user information of fingerprint template, which is relevantly easy to handle with.
15

3.1.26 SetUserTmpStr
[Protocol]
VARIANT_BOOL SetUserTmpStr([in] LONG dwMachineNumber, [in] LONG dwEnrollNumber, [in] LONG
dwFingerIndex, [in] BSTR TmpData)
[Feature]
User fingerprint template is written in character string.
[Parameter Declaration]
Please refer to explanation of function SetUserTmp.
[Example]
Dim dwEnrollNumber As Integer
Dim dwFingerIndex As Integer
Dim tmpData
dwEnrollNumber = 1
dwFingerIndex = 0
tmpData="ocoRgZ68NQNCRb0rghBEuTnCTRXERcIQnkA8ghQqLUTCDBikWAIJGKhTggWMsDECE2o1RIMXhq
xmwwYfMCNDFWFDJoINRjc0AiZbtx8CC1OgJAIJdz01QiY8JtQuD"
CZKEM1.SetUserInfo machineNumber, dwEnrollNumber, "Beet", 0, 0, True
CZKEM1.SetUserTmpStr MACHINENUMBER, dwEnrollNumber, dwFingerIndex, tmpData

3.1.27 GetAllUserInfo
[Protocol]

VARIANT_BOOL GetAllUserInfo([in] LONG dwMachineNumber, [in] LONG


*dwEnrollNumber, [in] BSTR * Name, [in] BSTR * Password, [in] LONG * Privilege,
[in] VARIANT_BOOL * Enabled)
[Feature]
After getting user information, read all of it in sequence in one cycle.
[Parameter Declaration]
Please refer to explanation of function GetUserInfoByPIN2.
[Returned Value]
Return True if succeed, otherwise return False.
[Example]

Dim
Dim
Dim
Dim
Dim
Dim
Dim
Dim

enrollnumber1 As Integer
enrollnumber As Integer
dwBackupNumber As Integer
dwMachinePrivilege As Integer
dwEnable As Boolean
name As String
name1 As String
pass As String
16

Dim pass1 As String


Dim pri As Integer
Dim en As Boolean
While CZKEM1.GetAllUserInfo(MACHINENUMBER, enrollnumber, name, pass, pri,
en)
enrollnumber1 = enrollnumber
dwMachinePrivilege = pri
name1 = name
pass1 = pass
dwEnable = en
Wend

3.1.28 GetUserTmp
[Protocol]

VARIANT_BOOL GetUserTmp([in] LONG dwMachineNumber, [in] LONG


dwEnrollNumber, [in] LONG dwFingerIndex, [in] BYTE* TmpData, [in] LONG *
TmpLength)
[Feature]
Get user information of fingerprint template.
[Parameter Declaration]
dwEnrollNumber
User Registration Number
DwFingerIndex
The range of fingerprint index is between 0 and 9.
TmpData
Byte Array of Fingerprint Template
TmpLength
Template Length
[Returned Value]
Return True for success, or otherwise False.
[Example]

Dim
Dim
Dim
Dim

dwEnrollNumber As Integer
dwFingerIndex As Integer
tmpData(1024) As Byte
tmpLength As Integer

dwEnrollNumber = 1
CZKEM1.GetUserTmp MACHINENUMBER, dwEnrollNumber, dwFingerIndex,
tmpData(0), tmpLength

17

3.1.29 SetUserTmp
[Protocol]
VARIANT_BOOL SetUserTmp([in] LONG dwMachineNumber, [in] LONG dwEnrollNumber, [in] LONG
dwFingerIndex, [in] BYTE* TmpData)
[Feature]
User fingerprint template is written in binary system.
[Parameter Declaration]
dwFingerIndex
Index Number corresponding to fingerprint
TmpData
Fingerprint template data is in binary format.
[Returned Value]
Return True for success, or otherwise False.
[Example]
Dim dwEnrollNumber As Integer
Dim dwFingerIndex As Integer
Dim tmpData(255) As Byte
dwEnrollNumber = 1
dwFingerIndex = 0
tmpData(0) = 160
CZKEM1.SetUserTmp MACHINENUMBER, dwEnrollNumber, dwFingerIndex, tmpData(0)
[Instruction]
Binary array tmpData(0) means passing address in vb6.0.

3.1.30 GetAllUserID
[Protocol]

VARIANT_BOOL GetAllUserID([in] LONG dwMachineNumber, [in] LONG*


dwEnrollNumber, [in] LONG* dwEMachineNumber, [in] LONG* dwBackupNumber, [in]
LONG* dwMachinePrivilege, [in] LONG* dwEnable)
[Feature]
Get User Registration Number.
[Parameter Declaration]
dwMachinePrivilege
User Authority: 0 for Normal User; 1 for Registrant; 2 for Administrator and 3 for Super Administrator.
[Returned Value]
Return True for success, or otherwise False.
[Example]

Dim
Dim
Dim
Dim
Dim

dwEnrollNumber As Integer
dwEmachineNumber As Integer
dwBackupNumber As Integer
dwMachinePrivilege As Integer
dwEnable As Boolean
18

Dim i As Long
'Cyc get enroll number
While CZKEM1.GetAllUserID(MACHINENUMBER, dwEnrollNumber,
dwEmachineNumber, dwBackupNumber, dwMachinePrivilege, dwEnable)
i = dwEnrollNumber
Wend
[Instruction]
This function can use function ReadAllUserID to read all ID to memory, then read out user ID circularly.

3.1.31 GetBackupNumber
[Protocol]

LONG GetBackupNumber([in] LONG dwMachineNumber)


[Feature]
Get User Backup Number.
[Parameter Declaration]
User Backup Number
[Returned Value]

CZKEM1.GetBackupNumber MACHINENUMBER
[Instruction]

This function has already been removed.

3.1.32 GetFPTempLength
[Protocol]

LONG GetFPTempLength([in] BYTE* dwEnrollData)


[Feature]
Get the length of fingerprint template.
[Parameter Declaration]
dwEnrollData
Template Length
[Returned Value]
Template Length
[Example]

Dim
Dim
Dim
Dim
Dim
Dim
Dim

length
glngEnrollPData As Long
vEMachineNumber As Integer
vEnrollNumber
vFingerNumber As Integer
glngEnrollData(500) As Long
vPrivilege As Integer

vEnrollNumber = 1
CZKEM1.GetEnrollData machineNumber, _
19

vEnrollNumber, _
machineNumber, _
vFingerNumber, _
vPrivilege, _
glngEnrollData(0), _
glngEnrollPData
length = CZKEM1.GetFPTempLength(glngEnrollData(0))

3.1.33 GetSuperLogData
[Protocol]
VARIANT_BOOL GetSuperLogData([in] LONG dwMachineNumber, [in] LONG* dwTMachineNumber, [in]
LONG* dwSEnrollNumber, [in] LONG* Params4, [in] LONG* Params1, [in] LONG* Params2, [in] LONG*
dwManipulation, [in] LONG* Params3, [in] LONG* dwYear, [in] LONG* dwMonth, [in] LONG* dwDay, [in] LONG*
dwHour, [in] LONG* dwMinute)
[Feature]
Management record data is gotten one by one from computer memory.
[Parameter Declaration]
Params4
Pointer pointing to long variable, which receives number value of Registration Machine performed by those
managers in charge of management.
Params1
Pointer pointing to long variable, which receives the value of registration number for management and operation object.
If operation object is terminal itself (i.e. management operation modifying system information of terminal), this parameter
value is 0.
Params2
Pointer pointing to long variable, which receives the value of registration machine number for management and
operation object. If operation object is terminal itself (i.e. management operation modifying system information of
terminal), this parameter value is 0.
dwManipulation
Pointer pointing to long variable, which receives type value of management operation performed in terminal.
Explanation for type value of management operation is as follows:
Value
Description
0

Power-on

Power-off

Warning for verification failure

Disassembly warning

Go to menu

Change settings

Fingerprint Backup Registration

Add password

Register HID card

Delete user

10

Delete fingerprint

11

Delete password
20

12

Delete radio frequency card

13

Clear data

14

Create MF card

15

Register MF card

16

Register MF card

17

Delete registration of MF card

18

Clear content of MF card

19

Move registered data into card

20

Copy data in the card to offline fingerprint machine

21

Set time of offline fingerprint machine

22

Restore to factory default

23

Delete attendance (in-out) record

24

Clear administrator authority

25

Modify setting of access control group

26

Modify setting of user access control

27

Modify duration of access control

28

Modify setting of unlock combination

29

Unlock

30

Register user

[Returned Value]
Return True for success, or otherwise False.
[Example]
Dim dwTMachineNumber As Integer
Dim dwSenrollNumber As Integer
Dim params4 As Integer
Dim params1 As Integer
Dim params2 As Integer
Dim dwManipulation As Integer
Dim params3 As Integer
Dim dwYear As Integer
Dim dwMonth As Integer
Dim dwDay As Integer
Dim dwHour As Integer
Dim dwMinute As Integer
Dim i As Long
'
dwTMachineNumber = 1
dwSenrollNumber = 1
CZKEM1.ReadAllSLogData machineNumber
i=1
While CZKEM1.GetSuperLogData(machineNumber, dwTMachineNumber, dwSenrollNumber, params4, params1,
params2, dwManipulation, params3, dwYear, dwMonth, dwDay, dwHour, dwMinute)
MsgBox "Get super log successful " & i & " times"
i=i+1
Wend

21

3.1.34 GetAllSLogData
[Protocol]
VARIANT_BOOL GetAllSLogData([in] LONG dwMachineNumber, [in] LONG* dwTMachineNumber, [in] LONG*
dwSEnrollNumber, [in] LONG* Params4, [in] LONG* Params1, [in] LONG* Params2, [in] LONG* dwManipulation, [in]
LONG* Params3, [in] LONG* dwYear, [in] LONG* dwMonth, [in] LONG* dwDay, [in] LONG* dwHour, [in] LONG*
dwMinute)
[Feature]
Read out management record from computer memory by function ReadAllSLogData.
[Parameter Declaration]
Please refer to explanation of function GetSuperLogData.
[Returned Value]
Return True for success, or otherwise False.
[Example]
Dim dwTMachineNumber As Integer
Dim dwSenrollNumber As Integer
Dim params4 As Integer
Dim params1 As Integer
Dim params2 As Integer
Dim dwManipulation As Integer
Dim params3 As Integer
Dim dwYear As Integer
Dim dwMonth As Integer
Dim dwDay As Integer
Dim dwHour As Integer
Dim dwMinute As Integer
Dim i As Long

CZKEM1.ReadAllSLogData machineNumber
i=1
While CZKEM1.GetAllSLogData(machineNumber, dwTMachineNumber, dwSenrollNumber, params4, params1,
params2, dwManipulation, params3, dwYear, dwMonth, dwDay, dwHour, dwMinute)
MsgBox "get success " & i & " times"
i=i+1
Wend

3.1.35 GetAllGLogData
[Protocol]
VARIANT_BOOL GetAllGLogData([in] LONG dwMachineNumber,[in] LONG* dwTMachineNumber, [in]
LONG* dwEnrollNumber, [in] LONG* dwEMachineNumber, [in] LONG* dwVerifyMode, [in] LONG* dwInOutMode,
[in] LONG* dwYear, [in] LONG* dwMonth, [in] LONG* dwDay, [in] LONG* dwHour, [in] LONG* dwMinute)
[Feature]
Read attendance record from computer memory, where attendance record in the memory is read by function
ReadAllGLogData.
[Parameter Declaration]
22

dwEnrollNumber
User Registration Number
dwEMachineNumber
the same as that of dwMachineNumber
dwVerifyMode
Comparison mode is divided into 1:1 and 1:N.
dwInOutMode
Attendance Type
[Example]
Dim dwTMachineNumber As Integer
Dim dwEnrollNumber As Integer
Dim dwEmachineNumber As Integer
Dim dwVerifyMode As Integer
Dim dwInOutMode As Integer
Dim dwYear As Integer
Dim dwMomth As Integer
Dim dwDay As Integer
Dim dwHour As Integer
Dim dwMinute As Integer
Dim i As Long
'
CZKEM1.ReadAllGLogData machineNumber
i=1
While CZKEM1.GetAllGLogData(machineNumber, dwTMachineNumber, dwEnrollNumber, dwEmachineNumber,
dwVerifyMode, dwInOutMode, dwYear, dwMomth, dwDay, dwHour, dwMinute)
MsgBox "get success " & i & " times"
i=i+1
Wend

3.1.36 GetEnrollData
[Protocol]
VARIANT_BOOL GetEnrollData([in] LONG dwMachineNumber, [in] LONG dwEnrollNumber, [in] LONG
dwEMachineNumber, [in] LONG dwBackupNumber, [in] LONG* dwMachinePrivilege, [in] LONG* dwEnrollData, [in]
LONG* dwPassWord)
[Feature]
Get user template.
[Parameter Declaration]
Please refer to explanation of function GetEnrollDataStr.
[Returned Value]
Return True for success, or otherwise False.
[Example]
Please refer to example of function GetFPTempLength.
[Instruction]
This function is old version of function SDK and can be replaced by GetUserTmpStr etc.

23

3.1.37 SetEnrollData
[Protocol]
VARIANT_BOOL SetEnrollData([in] LONG dwMachineNumber, [in] LONG dwEnrollNumber, [in] LONG
dwEMachineNumber, [in] LONG dwBackupNumber, [in] LONG dwMachinePrivilege, [in] LONG* dwEnrollData, [in]
LONG dwPassWord)
[Feature]
Write in his fingerprint template for one user.
[Parameter Declaration]
dwMachineNumber
Write in his fingerprint template for one user.
DwEnrollNumber
User Registration Number
DwEMachineNumber
the same of dwMachineNumber.
DwBackupNumber
Fingerprint Backup Number refers to Fingerprint Index.
dwMachinePrivilege
User Authority
DwEnrollData
Fingerprint Data
DwPassWord
User Password
[Returned Value]
Return True for success, or otherwise False.
[Example]
Please refer to Demo.

3.1.38 ModifyPrivilege
[Protocol]
VARIANT_BOOL ModifyPrivilege( [in] LONG dwMachineNumber, [in] LONG dwEnrollNumber, [in] LONG
dwEMachineNumber, [in] LONG dwBackupNumber, [in] LONG dwMachinePrivilege)
[Feature]
Modify User Authority.
[Parameter Declaration]
dwBackupNumber
Fingerprint Backup Number
dwMachinePrivilege
User Authority: 0 for Normal User; 1 for Registrant; 2 for Administrator and 3 for Super Administrator.
[Returned Value]
Return True for success, or otherwise False.
[Example]
Dim dwEnrollNumber As Integer 'user ID
24

Dim dwEmachineNumber As Integer


Dim dwBackupNumber As Integer
Dim dwMachinePrivilege As Integer
dwEnrollNumber = 1
dwEmachineNumber = 1
dwBackupNumber = 0
dwMachinePrivilege = 3
CZKEM1.ModifyPrivilege MACHINENUMBER, dwEnrollNumber, dwEmachineNumber, dwBackupNumber,
dwMachinePrivilege

3.1.39 PINWidth
[Protocol]
LONG PINWidth()
[Feature]
Get maximum length of User Registration Number.
[Parameter Declaration]
Return maximum length of User Registration Number.
[Example]
Dim tmpWidth As Integer

tmpWidth = CZKEM1.PINWidth()

3.1.40 ReadSuperLogData
[Protocol]
VARIANT_BOOL ReadSuperLogData([in] LONG dwMachineNumber)
[Feature]
Read all management records to memory.
[Parameter Declaration]
dwMachineNumber
Number of machine to be operated at present
[Returned Value]
Return True for success, or otherwise False.
[Example]
CZKEM1.ReadSuperLogData MACHINENUMBER

3.1.41 ReadAllSLogData
[Protocol]
VARIANT_BOOL ReadAllSLogData([in] LONG dwMachineNumber)
25

[Feature]
Please refer to function ReadSuperLogData for the same functions as it.

3.1.42 ReadGeneralLogData
[Protocol]
VARIANT_BOOL ReadGeneralLogData([in] LONG dwMachineNumber)
[Feature]
Read all attendance records to memory.
[Parameter Declaration]
dwMachineNumber
Number of machine to be operated at present
[Returned Value]
Return True for success, or otherwise False.
[Example]
CZKEM1.ReadGeneralLogData MACHINENUMBER

3.1.43 ReadAllGLogData
[Protocol]
VARIANT_BOOL ReadAllGLogData([in] LONG dwMachineNumber)
[Feature]
Please refer to function ReadGeneralLogData for the same functions as it.

3.1.44 ReadAllTemplate
[Protocol]
VARIANT_BOOL ReadAllTemplate([in] LONG dwMachineNumber)
[Feature]
Read all fingerprint templates to memory.
[Parameter Declaration]
dwMachineNumber
Number of machine to be operated at present
[Returned Value]
Return True for success, or otherwise False.
[Example]
CZKEM1.ReadAllTemplate MACHINENUMBER
[Instruction]
Main function of this function is to improve the speed of pick-up fingerprint template, which is faster than that of
pick-up fingerprint template from offline fingerprint machine one by one.

26

3.1.45 RefreshData
[Protocol]
VARIANT_BOOL RefreshData([in] LONG dwMachineNumber)
[Feature]
Refresh data.
[Returned Value]
Return True for success, or otherwise False.
[Example]
CZKEM1.RefreshData MACHINENUMBER
[Instruction]
Call it after uploading user information or fingerprint, so modification is valid at once.

3.1.46 ReadAllUserID
[Protocol]
VARIANT_BOOL ReadAllUserID([in] LONG dwMachineNumber)
[Feature]
Read all User Registration Numbers to PC memory.
[Parameter Declaration]
Return True for success, or otherwise False.
[Example]
Dim userID As Integer
CZKEM1.ReadAllUserID MACHINENUMBER
[Instruction]
After finishing execution of this function, call function GetAllUserID to get User Registration Number.

3.2 Access Control


3.2.1 ACUnlock
[Protocol]
VARIANT_BOOL ACUnlock([in] LONG dwMachineNumber, [in] LONG Delay)
[Feature]
Gate open makes lock controller output opening level.
[Parameter Declaration]
dwMachineNumber
Number of machine to be operated at present
Delay
Gate Open Delay Time
[Returned Value]
Return True for success, or otherwise False.

27

[Instruction]
Dim delay As Integer '
Delay time
delay = 150
CZKEM1.ACUnlock MACHINENUMBER, delay

3.2.2 EnableUser
[Protocol]
VARIANT_BOOL EnableUser([in] LONG dwMachineNumber, [in] LONG dwEnrollNumber, [in] LONG
dwEMachineNumber, [in] LONG dwBackupNumber, VARIANT_BOOL bFlag)
[Feature]
Set user as disabled or enabled user.
[Parameter Declaration]
dwMachineNumber
Number of machine to be operated at present
DwEnrollNumber
User Registration Number
DwEMachineNumber
the same machine of dwMachineNumber.
DwBackupNumber
Fingerprint Index
BFlag
Whether user is disabled or enabled; It stands for enabled if True, otherwise it is disabled.
[Returned Value]
Return True for success, or otherwise False.
[Example]
Dim dwEnrollNumber As Integer
Dim dwEmachineNumber As Integer
Dim dwBackNumber As Integer
Dim bFlag
dwEnrollNumber = 1
dwEmachineNumber = 1
dwBackNumber = 1
bFlag = True
CZKEM1.EnableUser MACHINENUMBER, dwEnrollNumber, dwEmachineNumber, dwBackNumber, bFlag

3.2.3 GetUserTZs
[Protocol]
VARIANT_BOOL GetUserTZs([in] LONG dwMachineNumber, [in] LONG dwEnrollNumber, [in] LONG *TZs)
[Feature]
28

Get User Duration


[Parameter Declaration]
TZs
User Gate Open Duration
[Returned Value]
Return True for success, or otherwise False.
[Example]
Dim dwEnrollNumber As Integer
Dim tzs As Integer
dwEnrollNumber = 1
CZKEM1.GetUserTZs MACHINENUMBER, dwEnrollNumber, tzs

3.2.4 SetUserTZs
[Protocol]
VARIANT_BOOL SetUserTZs([in] LONG dwMachineNumber, [in] LONG dwEnrollNumber, [in] LONG *TZs)
[Feature]
Set User Duration.
[Parameter Declaration]

dwEnrollNumber
User Registration Number

TZs
When duration is empty, restore it to group setting, otherwise specify a setting for user himself.
[Returned Value]
Return True for success, or otherwise False.
[Example]
Dim dwEnrollNumber As Integer
Dim tzs As Integer
dwEnrollNumber = 1
tzs = 0002234
CZKEM1.SetUserTZs MACHINENUMBER, dwEnrollNumber, tzs

3.2.5 GetUserGroup
[Protocol]
VARIANT_BOOL GetUserGroup([in] LONG dwMachineNumber, [in] LONG dwEnrollNumber, [in] LONG
*UserGrp)
[Feature]
Get User Group.
[Parameter Declaration]
UserGrp
29

User Group
[Example]
Dim dwEnrollNumber As Integer
Dim userGrp As Integer
dwEnrollNumber = 1
CZKEM1.GetUserGroup MACHINENUMBER, dwEnrollNumber, userGrp

3.2.6 SetUserGroup
[Protocol]
VARIANT_BOOL SetUserGroup([in] LONG dwMachineNumber, [in] LONG dwEnrollNumber, [in] LONG
UserGrp)
[Feature]
Set user to belong to one group.
[Parameter Declaration]
dwEnrollNumber
User Registration Number
UserGrp
One Group
[Returned Value]
Return True for success, or otherwise False.
[Example]
Dim dwEnrollNumber As Integer
Dim userGrp As String

dwEnrollNumber = 1
userGrp = 1
CZKEM1.SetUserGroup MACHINENUMBER, dwEnrollNumber, userGrp

3.2.7 GetACFun
[Protocol]
VARIANT_BOOL GetACFun([in] LONG* ACFun)
[Feature]
Get Unlock Delay Time.
[Parameter Declaration]
ACFun
Unlock Time Length
[Example]
Dim acFun As Integer
CZKEM1.GetACFun acFun
30

3.2.8 GetTZInfo
[Protocol]
VARIANT_BOOL GetTZInfo([in] LONG dwMachineNumber, [in] LONG TZIndex, [in] BSTR *TZ)
[Feature]
Get User Duration.
[Parameter Declaration]
Please refer to function GetUnlockGroups or other functions.
[Returned Value]
Return True for success, or otherwise False.
[Example]
Dim tzIndex As Integer
Dim tz As String
tzIndex = 1
CZKEM1.GetTZInfo MACHINENUMBER, tzIndex, tz

3.2.9 SetTZInfo
[Protocol]
VARIANT_BOOL SetTZInfo([in] LONG dwMachineNumber, [in] LONG TZIndex, [in] BSTR TZ)
[Feature]
Set Duration for group.
[Parameter Declaration]
TZIndex
Group Indexes
TZ
Duration
[Returned Value]
Return True for success, or otherwise False.
[Example]
Dim tzIndex As Integer
Dim tz
tzIndex = 1
tz = "000024500002303"
CZKEM1.SetTZInfo MACHINENUMBER, tzIndex, tz

31

3.2.10 GetUnlockGroups
[Protocol]
VARIANT_BOOL GetUnlockGroups([in] LONG dwMachineNumber, [in] BSTR *Grps)
[Feature]
Get Unlock Group Information.
[Parameter Declaration]
dwMachineNumber
Machine Number, i.e number of machine in operation
Grps
Unlock Group Information
[Returned Value]
Return True for success, or otherwise False.
[Example]
Dim grps As String
CZKEM1.GetUnlockGroups MACHINENUMBER, grps

3.2.11 SetUnlockGroups
[Protocol]
VARIANT_BOOL SetUnlockGroups([in] LONG dwMachineNumber, [in] BSTR Grps)
[Feature]
Create a group.
[Parameter Declaration]
Grps
Group Name
[Returned Value]
Return True for success, or otherwise False.
[Example]
Dim grps
grps = "AAA"
CZKEM1.SetUnlockGroups MACHINENUMBER, grps

3.2.12 GetGroupTZs
[Protocol]
VARIANT_BOOL GetGroupTZs([in] LONG dwMachineNumber, [in] LONG GroupIndex, [in] LONG *TZs)
[Feature]
Get Group Duration.
[Parameter Declaration]
GroupIndex

32

Group Indexes
TZs
Group Duration
[Returned Value]
Return True for success, or otherwise False.
[Example]
Dim groupIndex As Integer
Dim tzs As Integer
groupIndex = 1
CZKEM1.GetGroupTZs MACHINENUMBER, groupIndex, tzs

3.2.13 GetGroupTZStr
[Protocol]
VARIANT_BOOL SetGroupTZs([in] LONG dwMachineNumber, [in] LONG GroupIndex, [in] BSTR *TZs)
[Feature]
Set Duration for a group.
[Parameter Declaration]
GroupIndex
Group Indexes
TZs
Unlock duration
[Returned Value]
Return True for success, or otherwise False.
[Example]
Dim groupIndex As Integer
Dim tzs As Integer
groupIndex = 1
tzs = "000234300004324"
CZKEM1.SetGroupTZs MACHINENUMBER, groupIndex, tzs

3.2.14 GetGroupTZStr
[Protocol]
VARIANT_BOOL GetGroupTZStr([in] LONG dwMachineNumber, [in] LONG GroupIndex, [in] BSTR *TZs)
[Feature]
Get Group Duration.
[Parameter Declaration]
GroupIndex
Group Indexes
TZs
33

Group Unlock Duration


[Returned Value]
Return True for success, or otherwise False.
[Example]
Dim groupIndex As Integer
Dim tzs As String
groupIndex = 1
CZKEM1.GetGroupTZStr MACHINENUMBER, groupIndex, tzs

3.2.15 SetGroupTZStr
[Protocol]
VARIANT_BOOL SetGroupTZStr([in] LONG dwMachineNumber, [in] LONG GroupIndex, [in] BSTR TZs)
[Feature]
Set Group Duration
[Parameter Declaration]
Refer to SetGroupTZs
[Returned Value]
Return True for success, or otherwise False.
[Example]
Dim groupIndex As Integer
Dim tzs
groupIndex = 1
tzs = "0005678"
CZKEM1.SetGroupTZStr MACHINENUMBER, groupIndex, tzs

3.2.16 GetUserTZStr
[Protocol]
VARIANT_BOOL GetUserTZStr([in] LONG dwMachineNumber, [in] LONG dwEnrollNumber, [in] BSTR *TZs)
[Feature]
Get user duration
[Parameter Declaration]
dwEnrollNumber
User registration No.
TZs
User unlocking duration
[Example]
Dim dwEnrollNumber As Integer
Dim tzs As Integer
34

dwEnrollNumber = 1
CZKEM1.GetUserTZs machineNumber, dwEnrollNumber, tzs

3.2.17 SetUserTZStr
[Protocol]
VARIANT_BOOL SetUserTZStr([in] LONG dwMachineNumber, [in] LONG dwEnrollNumber, [in] BSTR TZs)
[Feature]
Set group duration
[Parameter Declaration]
Refer to SetUserTZ
[Returned Value]
Return True for success, or otherwise False.
[Example]
Dim dwEnrollNumber As Integer
Dim tzs
dwEnrollNumber = 1
tzs = "0001"
'
Retrun true success else false
CZKEM1.SetUserTZStr MACHINENUMBER, dwEnrollNumber, tzs

3.3 Machine Options


3.3.1 Beep
[Protocol]
VARIANT_BOOL Beep([in] LONG DelayMS)
[Feature]
Machine beeps
[Parameter Declaration]

DelayMS
Extended period of beeps
[Returned Value]
Return True for success, or otherwise False.
[Example]
Dim delayMs As Integer '
Delay time
delayMs = 150
CZKEM1.Beep delayMs
35

3.3.2 ClearLCD
[Protocol]
VARIANT_BOOL ClearLCD()
[Feature]
Clear screen to show nothing on LCD screen of the machine
[Parameter Declaration]
Return True for success, or otherwise False.
[Example]
CZKEM1.ClearLCD '
Clear scr

3.3.3 Connect_Com
[Protocol]
VARIANT_BOOL Connect_Com([in] LONG ComPort, [in] LONG MachineNumber, [in] LONG BaudRate)
[Feature]
Connect machine to PC serial-port.
[Parameter Declaration]

ComPort
Serial-port No.

MachineNumber
Machine No.

BaudRate
Baud rate.
[Returned Value]
Return True for success, or otherwise False.
[Example]
CZKEM1.Connect_Com MACHINECOM, MACHINENUMBER, RATE '
Connect with machine
CZKEM1.Beep (150) '
Make machine beep
CZKEM1.EnableDevice MACHINENUMBER, False '
Make machine in working state

3.3.4 Connect_Net
[Protocol]
VARIANT_BOOL Connect_Net([in] BSTR IPAdd, [in] LONG Port)
[Feature]
Set IP address for Connecting machine, i.e. network machine online.
[Parameter Declaration]

IPAdd
Set IP address of the machine via its keyboard or interface function SetDeviceIP.

Port
Port number is usually 4370.
36

[Returned Value]
Return True for success, or otherwise False.
[Example]
Dim ipAdd
Dim port As Integer
Dim flag As Boolean
ipAdd = "192.168.1.159"
port = 4370
flag = CZKEM1.Connect_Net(ipAdd, port)
If flag = True Then
CZKEM1.EnableDevice MACHINENUMBER, False
End If

3.3.5 DisableDeviceWithTimeOut
[Protocol]
VARIANT_BOOL DisableDeviceWithTimeOut([in] LONG dwMachineNumber,[in] LONG TimeOutSec)
[Feature]
Set duration for a machine under operating mode.
[Parameter Declaration]

TimeOutSec
The unit of duration is second.
[Returned Value]
Return True for success, or otherwise False.
[Example]
Dim timeOutSec As Integer
timeOutSec = 1200
CZKEM1.DisableDeviceWithTimeOut MACHINENUMBER, timeOutSec
[Instruction]
Set a machine into operating mode to keep data consistent and free from error after connect the machine; if
required to stop the communication with the machine, and an application program remains connection, the machine
will be automatically disconnected.

3.3.6 Disconnect
[Protocol]
Disconnect(void)
[Feature]
Disconnection.
[Example]
CZKEM1.Disconnect '
Disconnect with machine
CZKEM1.EnableDevice MACHINENUMBER, True
CZKEM1.Beep (150) '
Make machine beep
37

3.3.7 EnableDevice
[Protocol]
EnableDevice [in] LONG dwMachineNumber [in] VARIANT_BOOL Enabled
[Feature]
Set the machine into operating or non-operating mode
[Parameter Declaration]

dwMachineNumber
Operated machine No.

Enabled
True shows the machine is under operating mode, or under non-operating mode.
[Example]
CZKEM1.EnableDevice MACHINENUMBER, True

3.3.8 EnableClock
[Protocol]
VARIANT_BOOL EnableClock([in] LONG Enabled)
[Feature]
Stop or turn on the clock of machine, : will displayed on the LCD screen without playing.
[Parameter Declaration]

Enabled
True shows the machine is under operating mode, or under non-operating mode.
[Returned Value]
Return True for success, or otherwise False.
[Example]
Dim enabled As Boolean
enabled = False
CZKEM1.EnableClock enabled

3.3.9 GetDeviceStatus
[Protocol]
VARIANT_BOOL GetDeviceStatus([in] LONG dwMachineNumber, [in] LONG dwStatus, [in] LONG* dwValue)
[Feature]
Get the stored information in the machine, such as the number of administrators, registered users and templates.
[Parameter Declaration]

dwMachineNumber
Operated machine No.

DwStatus
The access information of the machine modes are described as follows:
38

Value
1
2
3
4
5
6

Description
The number of Administrator
The number of Registered user
Fingerprint template quantity.
The number of Password.
Record times of administrators management.
Record times of attendance

DwValue
Access the value described through DwStatus.

[Returned Value]
Return True for success, or otherwise False.
[Example]
Dim dwStatus As Integer
Dim dwValue As Integer
dwStatu = 1 '
Count of administrators
CZKEM1.GetDeviceStatus MACHINENUMBER, dwStatus, dwValue

3.3.10 GetDeviceInfo
[Protocol]
VARIANT_BOOL GetDeviceInfo([in] LONG dwMachineNumber, [in] LONG dwInfo, [in] LONG* dwValue)
[Feature]
Access information of setting such as language setting and max record setting.
[Parameter Declaration]

dwMachineNumber
Access the operated machine number.

DwInfo
Type of access information of the machine is described as follows:
Value Description
1. Max number of administrators;
2. Machine No.
3. Language
Value Description
0 English
1 Chinese
2 Korean
4. The duration for turning machine off automatically with the Unit of Minute
5. Output of locker signal control.
Value Description
0 Control signal with outputting locker.
1 control signal without outputting locker. ***
39

6. Max number of warning for attendance record.


7. Max number of warning for management record.
8. Min interval between two attendance records.
9. Baud rate.
Value Description
0 1200 bps
0 1200 bps
0 1200 bps
0 1200 bps
4 19200 bps
4 19200 bps
10. Parity verification
Value Description
0 Null verification
1 Even
2 Odd
11. Zone bit for stop
Value Description
0 1 Bit
1 2 Bits
12. Data decollator
13.Network is connected or not.
14.RS232 communication or not.
15.RS485 communication or not.
16.Tone tip
17. Verification speed
18. Idle time
19. Off time
20. Resume Time
21. Sleep time
22. Auto-beep
23. Match threshold
24. Match threshold
25.1:1 Match threshold
26. Whether to show fractional number.
27 Combination number of unlock persons.
28.Whether to use card for verification.
29.Network speed
30.Must register card No.
31.retention time for machine under temporary status
32.Type retention time
33.Retention time for menu
34.Date formate
35.Whether is 1: 1 match or not?
[Example]
Dim dwInfo As Integer
Dim dwValue As Integer
dwInfo =1
40

CZKEM1.GetDeviceInfo MACHINENUMBER, dwInfo, dwValue

3.3.11 GetWiegandDefine
[Protocol]
VARIANT_BOOL GetWiegandDefine([in] LONG dwMachineNumber, [in] BSTR *sWiegandDefine)
[Feature]
Get Wiegand format.
[Parameter Declaration]

dwMachineNumber
Number of machine to be operated at present

SWiegandDefine
Wiegand format.
[Example]
Dim sWiegandDefine As String
CZKEM1.GetWiegandDefine MACHINENUMBER, sWiegandDefine

3.3.12 GetDeviceIP
[Protocol]
VARIANT_BOOL GetDeviceIP([in] LONG dwMachineNumber, [in] BSTR *IPAddr)
[Feature]
Get IP address of machine.
[Parameter Declaration]

IPAddr
IP address
[Example]
Dim ipAddr As String
CZKEM1.GetDeviceIP MACHINENUMBER, ipAddr

3.3.13 SetDeviceIP
[Protocol]
VARIANT_BOL SetDeviceIP([in] LONG dwMachineNumber, [in] BSTR IPAddr)
[Feature]
Set the IP address.
[Parameter Declaration]
Please refer to GetDeviceIP
[Returned Value]
Return True for success, or otherwise False.
[Example]
41

Dim ipAddr
Dim flag As Boolean
ipAddr = "192.168.100.173"
flag = CZKEM1.SetDeviceIP(MACHINENUMBER, ipAddr)

3.3.14 GetDeviceMAC
[Protocol]
VARIANT_BOOL GetDeviceMAC([in] LONG dwMachineNumber, [in] BSTR *sMAC)
[Feature]
Get MAC address of machine.
[Parameter Declaration]

sMAC

MAC address
[Returned Value]
Return True for success, or otherwise False.
[Example]
Dim sMac As String
CZKEM1.GetDeviceMAC MACHINENUMBER, sMac

3.3.15 GetDeviceTime
[Protocol]
VARIANT_BOOL GetDeviceTime([in] LONG dwMachineNumber, [in] LONG* dwYear, [in] LONG* dwMonth, [in]
LONG* dwDay, [in] LONG* dwHour, [in] LONG* dwMinute, [in] LONG* dwSecond)
[Feature]
Get machine time.
[Parameter Declaration]

dwYear

dwMonth

dwDay

dwHour

  

[Returned Value]
Return True for success, or otherwise False.
[Example]
Dim dwYear As Long
Dim dwMonth As Long
Dim dwHour As Long
Dim dwDay As Long
Dim dwMinute As Long
Dim dwSecond As Long

dwMinute

dwSecond


 

CZKEM1.GetDeviceTime MACHINENUMBER, dwYear, dwMonth, dwDay, dwHour, dwMinute, dwSecond '


Get
machine time
42

3.3.16 GetSerialNumber
[Protocol]
VARIANT_BOOL GetSerialNumber([in] LONG dwMachineNumber, BSTR* dwSerialNumber)
[Feature]
Get product serial number.
[Parameter Declaration]

dwMachineNumber
Number of machine to be operated at present

dwSerialNumber
Product serial number.
[Returned Value]
Return True for success, or otherwise False.
[Example]
Dim dwSerialNumber As String
CZKEM1.GetSerialNumber MACHINENUMBER, dwSerialNumber

3.3.17 GetProductCode
[Protocol]
VARIANT_BOOL GetProductCode([in] LONG dwMachineNumber, BSTR* lpszProductCode)
[Feature]
Get product serial number.
[Parameter Declaration]

lpszProductCode
Product model.
[Returned Value]
Return True for success, or otherwise False.
[Example]
Dim ipsxProductCode As String
CZKEM1.GetProductCode MACHINENUMBER, ipsxProductCode

3.3.18 GetFirmwareVersion
[Protocol]
VARIANT_BOOL GetFirmwareVersion([in] LONG dwMachineNumber, [in] BSTR* strVersion)
[Feature]
Get firmware version number.
[Parameter Declaration]

strVersion
Firmware version number
43

[Returned Value]
Return True for success, or otherwise False.
[Example]
Dim strVersion As String
CZKEM1.GetFirmwareVersion MACHINENUMBER, strVersion

3.3.19 GetSDKVersion
[Protocol]
VARIANT_BOOL GetSDKVersion([in] BSTR* strVersion)
[Feature]
Get version number of offline SDK.
[Parameter Declaration]

strVersion
Version number of offline SDK.
[Returned Value]
Return True for success, or otherwise False.
[Example]
Dim strVersion As String
CZKEM1.GetSDKVersion strVersion

3.3.20 PowerOnAllDevice
[Protocol]
PowerOnAllDevice()
[Feature]
Power on all machines.
[Parameter Declaration]
Return True for success, or otherwise False.
[Example]
CZKEM1.PowerOnAllDevice

3.3.21 PowerOffDevice
[Protocol]
VARIANT_BOOL PowerOffDevice([in] LONG dwMachineNumber)
[Feature]
Power off the machine.
[Parameter Declaration]

dwMachineNumber
Machine No.
44

[Returned Value]
Return True for success, or otherwise False.
[Example]
CZKEM1.PowerOffDevice MACHINENUMBER

3.3.22 PlayVoiceByIndex
[Protocol]
VARIANT_BOOL PlayVoiceByIndex([in] LONG Index)
[Feature]
Play audio files with index
[Parameter Declaration]

Index
Audio index.
[Returned Value]
Return True for success, or otherwise False.
[Example]
Dim i As Integer
i=1
CZKEM1.PlayVoiceByIndex I

3.3.23 QueryState
[Protocol]
VARIANT_BOOL QueryState([in] LONG *State)
[Feature]
Get the machine status.
[Parameter Declaration]

State
Status value
[Returned Value]
Return True for success, or otherwise False.
[Example]
Dim state As Integer
CZKEM1.QueryState state

3.3.24 RestartDevice
[Protocol]
VARIANT_BOOL RestartDevice([in] LONG dwMachineNumber)
45

[Feature]
Restart the machine.
[Parameter Declaration]

dwMachineNumber
Machine No.
[Returned Value]
Return True for success, or otherwise False.
[Example]
CZKEM1.RestartDevice MACHINENUMBER

3.3.25 SetDeviceInfo
[Protocol]
VARIANT_BOOL SetDeviceInfo([in] LONG dwMachineNumber, [in] LONG dwInfo, [in] LONG dwValue)
[Feature]
Set the machine parameters
[Parameter Declaration]
Please refer to GetDeviceInfo
[Returned Value
Return True for success, or otherwise False.
[Example]
Dim dwInfo As Integer
Dim dwValue As Integer
dwInfo = 35
dwValue = 322
CZKEM1.SetDeviceInfo MACHINENUMBER, dwInfo, dwValue

3.3.26 SetDeviceTime
[Protocol]
VARIANT_BOOL SetDeviceTime([in] LONG dwMachineNumber)
[Feature]
Set the machine time
[Parameter Declaration]

dwMachineNumber
Number of machine to be operated
[Returned Value]
Return True for success, or otherwise False.
[Example]
CZKEM1.SetDeviceTime MACHINENUMBER '
Set machine time with sys

46

3.3.27 SetDeviceTime2
[Protocol]
VARIANT_BOOL SetDeviceTime2([in] LONG dwMachineNumber, [in] LONG dwYear, [in] LONG dwMonth, [in]
LONG dwDay, [in] LONG dwHour, [in] LONG dwMinute, [in] LONG dwSecond)
[Feature]
Set the time by the same means as that of SetDeviceTime.
[Parameter Declaration]
It includes machine number, year, month, date, hour, minute and second.
[Returned Value]
Return True for success, or otherwise False.
[Example]
Dim dwYear As Integer
Dim dwMonth As Integer
Dim dwDay As Integer
Dim dwHour As Integer
Dim dwMinute As Integer
Dim dwSecond As Integer
dwYear = 2008
dwMonth = 8
dwDay = 8
dwHour = 8
dwMinute = 8
dwSecond = 8
CZKEM1.SetDeviceTime2 MACHINENUMBER, dwYear, dwMonth, dwDay, dwHour, dwMinute, dwSecond

3.3.28 SetDeviceMAC
[Protocol]
VARIANT_BOOL SetDeviceMAC([in] LONG dwMachineNumber, [in] BSTR sMAC)
[Feature]
Set MAC value of the machine.
[Parameter Declaration]
Please refer to GetDeviceMAC
[Returned Value]
Return True for success, or otherwise False.
[Example]
Dim sMAC
SMAc = 00:50:54:00:0C:FC
CZKEM1.SetDeviceMAC MACHINENUMBER, sMAC

47

3.3.29 SetWiegandDefine
[Protocol]
VARIANT_BOOL SetWiegandDefine([in] LONG dwMachineNumber, [in] BSTR sWiegandDefine)
[Feature]
Set Wiegand value of the machine
[Parameter Declaration]
Please refer to GetWiegandDefine
[Returned Value]
Return True for success, or otherwise False.
[Example]
Dim sWiegandDefine
sWiegandDefine = "2322"
CZKEM1.SetWiegandDefine MACHINENUMBER, sWiegandDefine

3.3.30 SetCommPassword
[Protocol]
VARIANT_BOOL SetCommPassword([in] LONG CommKey)
[Feature]
Set connection password
[Parameter Declaration]

CommKey
Connection password.
[Returned Value]
Return True for success, or otherwise False.
[Example]
Dim commkey As Integer
commkey = 1234
CZKEM1.SetCommPassword commkey

3.3.31 UpdateFirmware
[Protocol]
VARIANT_BOOL UpdateFirmware([in] BSTR FirmwareFile)
[Feature]
Modify firmware.
[Parameter Declaration]

FirmwareFile
Firmware name including full path.
48

[Returned Value]
Return True for success, or otherwise False.
[Example]
Dim firmwareFile
firmwareFile = "c:\nananananan"
CZKEM1.UpdateFirmware firmwareFile

3.3.32 WriteLCD
[Protocol]
VARIANT_BOOL WriteLCD([in] LONG Row, LONG Col, BSTR Text)
[Feature]
Display information in LCD screen.
[Parameter Declaration]

Row
The first row

Col
The first line

BSTR
Content displayed.
[Returned Value]
Return True for success, or otherwise False.
[Example]
Dim row As Integer
Dim col As Integer
Dim text
row = 1
col = 1
text = "Hello Beetfuxi pei"
CZKEM1.WriteLCD row, col, text

3.4 Others
3.4.1 CaptureImage
[Protocol]
VARIANT_BOOL CaptureImage([in] VARIANT_BOOL FullImage, [in] LONG *Width, [in] LONG *Height, [in]
BYTE *Image,[in] BSTR ImageFile)
[Feature]
49

Grab present fingerprint images of offline fingerprint machine.


[Parameter Declaration]
FullImage
True to return the whole fingerprint image, otherwise return the feature section of the fingerprint.
Width
Width of specified image
Height
Width of specified height
Image
Save the collected images in the variant in the form of binary system.
ImageFile
Save the collected fingerprints in file form, including file paths, such as c:\aaa.bmp.
[Returned Value]
Return True for success, or otherwise False.
[Example]
Dim fullImage
Dim width As Integer
Dim height As Integer
Dim image(1024 * 8) As Byte
Dim imageFile
fullImage = False
width = 88
height = 88
imageFile = "c:\fp1.bmp"
CZKEM1.CaptureImage fullImage, width, height, image(0), imageFile
[Instruction]
The necessity of the function existence is relative small due to little use, and the function is old version. Although
it can be seen in SDK, it has been dropped.

3.4.2 CancelOperation
[Protocol]
VARIANT_BOOL CancelOperation() Read only
[Feature]
Cancel the present operation. If user registration is present, registration will be cancelled while performing
function.
[Parameter Declaration]
Return True for success, or otherwise False.
[Example]
CZKEM1.CancelOperation

3.4.3 GetLastError
[Protocol]
50

GetLastError([in] LONG* dwErrorCode)


[Feature]
Get error information.
[Parameter Declaration]
dwErrorCode
Error numbers gotten are described as follows:
Value Description
1
SUCCESSED
4 ERR_INVALID_PARAM
0 ERR_NO_DATA
-1 ERROR_NOT_INIT
-2 ERROR_IO
-3 ERROR_SIZE
-4 ERROR_NO_SPACE
-100 ERROR_UNSUPPORT
[Returned Value]
Return True for success, or otherwise False.
[Example]
Dim errorCode As Long
CZKEM1.GetLastError errorCode

3.4.4 StartVerify
[Protocol]
VARIANT_BOOL StartVerify([in] LONG UserID, [in] LONG FingerID)
[Feature]
Start to 1:1 match fingerprint.
[Parameter Declaration]
UserID
User Registration Number
FingerID
Fingerprint index
[Example]
Dim UserID As Integer
Dim fingerID As Integer
UserID = 1
fingerID = 1
CZKEM1.StartVerify UserID, fingered

3.4.5 StartEnroll
[Protocol]
51

VARIANT_BOOL StartEnroll([in] LONG UserID, [in] LONG FingerID)


[Feature]
Start to register user.
[Parameter Declaration]
Please refer to function StartVerify.
[Example]
Dim userID As Integer
Dim fingerID As Integer
userID = 6
fingerID = 0
CZKEM1.StartEnroll userID, fingered

3.4.6 StartIdentify
[Protocol]
VARIANT_BOOL StartIdentify()
[Feature]
Start to 1:N match.
[Returned Value]
Return True for success, or otherwise False.
[Example]
CZKEM1.StartIdentify

4.

Solutions to frequently asked questions, FAQ

4.1 How to download attendance record


First of all, all attendance record can be read to memory with ReadGeneralLogData function, and then circularly
use GetGeneralLogData to get it. When GetGeneralLogData function returns to False, reading attendance record is
finished and read records are written in the database or shown in other forms, and then download of attendance record
is finished. Download of management record is as above.

4.2 How to create user online


Firstly, use SetuserInfo function to write relevant user record in the machine, such as registration number,
password and name. Secondly, use SetUserTmpStr/SetUerTmp/SetEnrollDataStr/SetEnrollData function to write
fingerprint template for user; the method is suitable for completing collecting user information and storing it in such
media as database. It is unnecessary for users to reregister offline, so it improves registration efficiency.

52

4.3 Data import and download for U disk


In the present offline products, A5 can supply U disk to download data. Many customers concern the data format
of U disk. Due to complication of data format downloaded, we import the data in U disk to the tool software in the
open database where customers can read the downloaded data.

4.4 BIOKEY collect fingerprint template and write in offline


When fingerprint is collected with BIOKEY, fingerprint template is got generally while registering. For example,
fingerprint template can be gotten in the event OnEnroll. Then gotten fingerprint template can be written in. Please
refer to chapter 4.2 for the write procedure.
4.5 Get all the information of all users
Firstly, use ReadAllUserID to read all user ID numbers to memory. Secondly, use GetAllUserID to circularly get
user EnrollNumber. Finally, use GetUserInfo function to get user information. If the data of fingerprint templates is
also needed, character string fingerprint templates can be got through GetUserTmpStr function.
4.6 Machine connection
Machine can be viewed as an independent PC in the process of connection. But note that IP addresses of machine
must exactly match with the connected IP addresses. There are serial port and network connection for some machines
such as F4. In different processes of connection, different settings must be performed for machine and modifying
communication way is also necessary, and you must adjust all controller switches to TCP/IP or 232/485, otherwise
connection will fail. Sometimes the connection may fail due to busy serial port, it can be achieved by restarting
program. If application connects machine but without manual cut-off, auto break time of machine can be set with
DisableDeviceWithTimeOut function. In some process of connection, because download and modification of data
through serial port or network are the same as database. In order to keep data conformity and avoid errors,
EnableDevice can be set in the operating mode.
4.7 Password is unusable after SetUserInfo
Because Password may be set to empty after performing function, then verification cannot be conducted with
password. Before using SetUserInfo, it is necessary to get user password with GetUserInfo, then pass the password
value to Password parameter of SetUserInfo, password can remain unchanged when writing in user information.
4.8 Conversion from Online template to offline template
Collected fingerprint template can be converted to offline fingerprint template with 0FPTempConvertNew. Please
refer to chapter 4.4/3.1.9 for how to get the template collected by BIOKEY. The function converts binary fingerprint
template. The temp1 and temp2 parameter of the function are both binary. BIOKEY fingerprint template in character
string format also can be converted to offline fingerprint template with FPTempConvertNewStr function.

53

4.9 Demo program cannot connect the machine


Sometimes, user installs attendance management program that can be used to connect machine, but using Demo
cannot connect machine.
The reason is that dynamic link library is only copied in the directory of attendance management program without
registration when stalling the attendance management software. The library can be registered in the system before
running Demo, and then Demo program can be used to connect machine.
4.10 Offline fingerprint machine is in the operation mode after connection
When communicating with offline fingerprint machine, generally use EnableDevice function to make offline
fingerprint machine in the operating mode (refer to explanation of EnableDevice function) to ensure data conformity
and avoid abnormal condition. In the operating mode, its keyboard and fingerprint read head stop work, i.e in the
unusable status. After communication, you can cut-off the machine or reuse EnableDevice to restore offline fingerprint
machine to normal status.
4.11 Details are needed to be paid attention to when complex font letters are written in offline fingerprint
machine
When complex font letters are written in the offline fingerprint machine, the property of ConvertBIG5 should be
modified to 1, for example CZKEM1.ConvertBIG5 = 1. The purpose is to avoid displaying scrambling code when
displaying complex font.

54

5.

After-sales service for software

Thanks for your concern on the product and we will continue to offer perfect service. Please enter our technology
BBS and fill in whole registration information, to help us to contact with you in time.
Our working hours is 9:00 am to 18:00 pm from Monday to Friday with attendance in Saturday, excluding legal
holidays and Sunday.
We welcome your calls at any time and provide fast solutions for you.
Before call, Please confirm that all other applications used have been closed according to the manual.
Address: Room 1008, Pacific International Building, #106, Zhichun Road, Zhongguancun, Beijing, 100086
P.R.China
Post Code: 100086
Tel: 010-51518010, 51518011, 51518012, 51518013, 51518014
Fax: 010-51518015
E-mail support@zksoftware.com

If you have any question about the product technology, please prepare the following information, so we can solve
your problems and offer service in short time:
1. Software Name
2. Your Computer information, including brand, model, CPU, memory, CD-ROM and brand of mainboard.
3. Windows 95/98/NT4.0/2000/XP or other operating environments
4. Any application you are using
5. Details for your problem(s)

You may vist our website www.zksoftware.com to access Technical BBS and post your questions and precious
suggestions. We will paste satisfied replies for you as earlier as I can.

55

You might also like