Professional Documents
Culture Documents
ZK (Spain) SDK Manual v6.12.2
ZK (Spain) SDK Manual v6.12.2
ZK (Spain) SDK Manual v6.12.2
Version 6.12.2
2011-09-05
ZKSoftware (Spain) communication SDK manual
Content
1.ABOUT STANDALONE COMMUNICATION SDK .................................................................. 1
3.1THE COMMON FUNCTION TO UPLOAD, DOWNLOAD AND MANAGE USER BASIC DATA ..................... 3
3.1.1 Download attendance record ............................................................................................ 3
1 ReadAllGLogData .......................................................................................................................... 3
2 GetGeneralLogDataStr.................................................................................................................... 3
3 ClearGLog ...................................................................................................................................... 4
3.1.2 Users data to add, delete, change, look up ...................................................................... 4
1 ReadAllUserID ............................................................................................................................... 4
2 ReadAllTemplate ............................................................................................................................ 4
3 SetUserInfo ..................................................................................................................................... 4
4 SetUserTmp .................................................................................................................................... 4
5 CardNumber attribute .................................................................................................................... 4
6 DeleteEnrollData ............................................................................................................................ 4
7 DelUserTmp ................................................................................................................................... 5
8 GetUserInfo .................................................................................................................................... 5
9 GetUserTmp ................................................................................................................................... 5
10 ModifyPrivilege ............................................................................................................................ 5
11 GetAllUserID ................................................................................................................................ 5
3.1.3Download the management record ................................................................................... 5
1 ReadAllSLogData ........................................................................................................................... 5
2 GetAllSLogData ............................................................................................................................. 5
3 ClearSLog ....................................................................................................................................... 5
3.2 COMMONLY USED FUNCTIONS TO ACCESS CONTROL OPERATION ................................................. 6
1 GetTZInfo ....................................................................................................................................... 6
2 SetTZInfo........................................................................................................................................ 6
3 SetUserTZStr .................................................................................................................................. 6
4 GetUserTZStr.................................................................................................................................. 6
5 SetUserGroup ................................................................................................................................. 6
6 GetUserGroup ................................................................................................................................. 6
7 SetGroupTZStr................................................................................................................................ 6
8 GetGroupTZStr ............................................................................................................................... 6
9 SetUnlockGroups ............................................................................................................................ 6
10 GetUnlockGroups ......................................................................................................................... 6
11 ACUnlock ..................................................................................................................................... 6
Standalone development for ZKEMSDK Reversion.
Copyright 2005-2010 ZKSoftware (Spain) Inc. All rights reserved.
ZKSoftware (Spain) communication SDK manual
4.1.2.3 DelUserTmp......................................................................................................................... 27
4.1.2.4 GetEnrollDataStr.................................................................................................................. 27
4.1.2.5 SetEnrollDataStr .................................................................................................................. 28
4.1.2.6 SetUserTmp ......................................................................................................................... 29
4.1.2.7 GetUserTmp......................................................................................................................... 29
4.1.2.8 GetEnrollData ...................................................................................................................... 30
4.1.2.9 SetEnrollData ....................................................................................................................... 31
4.1.2.10 ReadAllTemplate ............................................................................................................... 32
4.1.2.11 FPTempConvertNew .......................................................................................................... 32
4.1.2.12 FPTempConvertNewStr ..................................................................................................... 33
4.1.2.13 FPTempConvertStr............................................................................................................. 33
4.1.2.14 FPTempConvert ................................................................................................................. 34
4.1.2.15 GetFPTempLengthStr ........................................................................................................ 34
4.1.2.16 GetFPTempLength ............................................................................................................. 35
4.1.3 Management record ........................................................................................................ 35
4.1.3.1 ReadSuperLogData .............................................................................................................. 36
4.1.3.2 ReadGeneralLogData ........................................................................................................... 36
4.1.3.3 GetGeneralLogDataStr ......................................................................................................... 36
4.1.3.4 GetSuperLogData ................................................................................................................ 37
4.1.3.5 GetAllSLogData .................................................................................................................. 39
4.1.3.6 GetAllGLogData .................................................................................................................. 40
4.1.3.7 ReadAllSLogData ................................................................................................................ 41
4.1.3.8 ReadAllGLogData ............................................................................................................... 41
4.1.3.9 ClearSLog ............................................................................................................................ 41
4.1.3.10 GetGeneralExtLogData ...................................................................................................... 42
4.1.4 System Data management ............................................................................................... 42
4.1.4.1 BackupData .......................................................................................................................... 42
4.1.4.2 RestoreData .......................................................................................................................... 43
4.1.4.3 ClearKeeperData .................................................................................................................. 43
4.1.4.4 ClearGLog ........................................................................................................................... 43
4.1.4.5 PINWidth ............................................................................................................................. 44
4.1.4.6 RefreshData ......................................................................................................................... 44
4.2 ACCESS CONTROL ...................................................................................................................... 45
4.2.1 ACUnlock ............................................................................................................................... 45
4.2.2 EnableUser .............................................................................................................................. 45
4.2.3 GetUserTZs ............................................................................................................................. 46
4.2.4 SetUserTZs ............................................................................................................................. 47
4.2.5 GetUserGroup ......................................................................................................................... 47
4.2.6 SetUserGroup.......................................................................................................................... 47
4.2.7 GetACFun ............................................................................................................................... 48
4.2.8 GetTZInfo ............................................................................................................................... 48
4.2.9 SetTZInfo ................................................................................................................................ 49
4.2.10 GetUnlockGroups ................................................................................................................. 49
4.2.11 SetUnlockGroups .................................................................................................................. 50
Standalone development for ZKEMSDK Reversion.
Copyright 2005-2010 ZKSoftware (Spain) Inc. All rights reserved.
ZKSoftware (Spain) communication SDK manual
5.EVENT ........................................................................................................................................... 74
6. ATTRIBUTES ............................................................................................................................... 78
7. FAQ ................................................................................................................................................ 80
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
-1-
ZKSoftware (Spain) communication SDK manual
2. SDK Installation
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
-2-
ZKSoftware (Spain) communication SDK manual
Copy all dll file under the system32 of system directory, click start>run regsvr32
Zkemkeeper.dll, the popup window will appear to indicate that register is successful, import this
control to development tool. (Please refer to actual tools application) will be able to use it by
simply drag and drop.
Explanation
Following illustration take C syntax to explain function protocol, VB syntax illustrate
function purpose, the function is classed by its purpose, and in the example the CZKEM1 is
control name. The machineNumber is machine No, SDK default as standalone communication
SD.
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
-3-
ZKSoftware (Spain) communication SDK manual
3. Easy Start
The flow of executionfirst, use the function ReadAllGLogData to read in all attendance
record to the memory( SDK automatically administrate memorythen execute the function
GetGeneralLogData to read in each attendance record. When the function GetGeneralLogData
return False, that means all records have been taken in, please refer to follow functions which
maybe use in this course, for more detail about the function using, can see the following actual
explanation. After completing operation, perform the function DisConnect to disconnect the
linked equipment, the SDK will release the resource which is used by SDK itself.
1 ReadAllGLogData
Read in all attendance record to the memoryprepare for the functionGetGeneralLogData to
get the attendance records which purpose is same the function ReadAllGLogData.
2 GetGeneralLogDataStr
Get the attendance record from the memory, which purpose is same with the function
GetGeneralLogData, only the parameter form of return time is different.
3 ClearGLog
Clear all attendance record.
Note: All function gets the each item of the attendance record one by one, when returning
Failure, the indication is that all records have been taken in. for more detail, please refer to
detailed handbook of the function interface. If the machinet provides Work Code function , may
use the function GetGeneralExtLogData to read the attendance record from the memory.
To add the user and to upload the user, the deletion includes to delete the fingerprint, the
password, the user. The revision refers to revision user name, the privilege, the password and so
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
-4-
ZKSoftware (Spain) communication SDK manual
1 ReadAllUserID
Read in the user all information (serial number, name, password, without fingerprint) to the
memory
2 ReadAllTemplate
Read the user all fingerprints template in the memory.
3 SetUserInfo
To add or revise users information, if user exists, then covers it, otherwise create it. It is better
to use this function.
4 SetUserTmp
To add (Upload) the user fingerprint template. Other functions with same purpose include:
SetUserTmp, SetEnrollData, SetEnrollDataStr, please refer to other chapter descriptions.
5 CardNumber attribute
This attribute means that user uploads or downloads some users card information.
6 DeleteEnrollData
Delete user itself either user password or fingerprint.
7 DelUserTmp
Delete user fingerprint template.
8 GetUserInfo
According to the serial number to inquiry user information, that includes the password, the
name and so on.
9 GetUserTmp
Inquiry (download or obtain) the user fingerprint template, the fingerprint template of this
function returns by the character string, may refer to other functions, for example:
GetEnrollDataStr, GetUserTmp, GetEnrollData all may obtain the fingerprint template, a lot of
functions are compatible with existences, its internal realization is same
10 ModifyPrivilege
Modify user privilege
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
-5-
ZKSoftware (Spain) communication SDK manual
11 GetAllUserID
Get some user information from the memory, this function every time execute a time, the user
record which point to the memory transfers to the next record, when this function returns to
False, download all user informations, may according to the user serial number this function
return, download fingerprint template. Coordinates ReadAllUserID, ReadAllTemplate, the
GetUserTmp function, may download all user information.
The process to download management record and attendance record process are quite same, all
is first to read in the memory, then obtains each record.
1 ReadAllSLogData
Read in all management record memory, to prepare for getting he management record The
function with same function has ReadSuperLogData
2 GetAllSLogData
Get the management record from the memory. The purposer is same with the function
GetSuperLogData function.
3 ClearSLog
Clear the management record.
Mainly include: the Time Zone, the group used Time Zone, user the Time Zone to upload,
download, unlocking combination and so on. There are 50 Time Zone, 5 groups, 10 the locking
combination in the machine. If you do not understand the detail, please refer to the function
explanation.
1 GetTZInfo
Download The Time Zone setup.
2 SetTZInfo
Upload The Time Zone setup.
3 SetUserTZStr
Upload the used Time Zone by user.
4 GetUserTZStr
Download the used Time Zone by user.
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
-6-
ZKSoftware (Spain) communication SDK manual
5 SetUserGroup
Set that users belong to some group.
6 GetUserGroup
Inquiry the group that user was assigned to.
7 SetGroupTZStr
Upload the used Time Zone by group.
8 GetGroupTZStr
Download the used Time Zone by group.
9 SetUnlockGroups
Return the unlocking combination of the fingerprint Access Control Device
10 GetUnlockGroups
Download the unlocking combination.
11 ACUnlock
The order to open the door
Mainly includes: Machine parameter, like time, communication parameter, power source
managemen and so on.
1 Beep
Bell ring.
2 ClearLCD
Clear LCD displaying content, prepares to reads in character which want to write. WriteLCD
may read the character in LCD which wants to display.
3 Connect_Com
Connect with machine, user of the Connect_Net function connect to the machine by network..
4 EnableDevice
Make the machine to be at shield condition or the cancellation shield to the auxiliary equipment.
EnableClock is used to stop the glittering of the stopwatch. The similar function has
DisableDeviceWithTimeOut, this function not only shield the auxiliary equipment but also have
the overtime limit. Uses the EnableDevice function, the programmer may follow own procedure
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
-7-
ZKSoftware (Spain) communication SDK manual
5 GetDeviceInfo
Get the configure parameter of the relative equipment. The function with the similar function
includes: GetDeviceStatus, SetDeviceInfo, SetDeviceInfo, and other functions, like to revise the
time function SetDeviceTime, SetDeviceTime2 in the machine. Modify IP function SetDeviceIP
in the machine. can get a number of the equipment by The users function GetSerialNumber,
please refer to the equipment management function in the development handbook. In the notmal
state, if there is a downloading the equipment parameter, there will be uploading in the
equipment, the function name also is changed from the Get... to the Set... The purpose of the
function is symmetrical; certainly some parameters could not revise, like as the equipment
name, sequence number and so on.
6 RestartDevice
Restart equipmentthe correlation function has PowerOffDevice, the shut-down power source.
7 SetWiegandDefine
Set the Wiegand output form to the Access Control machine. Corresponds the Get function also
be allowed to gain this form.
1 OnAttTransaction
When works as the fingerprint successfully, triggers this event. The monitor program may very
easy real situation find out the difference situation. General name this event the real-time event.
2 OnAlarm
Real-time alarm the event, may monitor the equipment to the alarm condition.
3 OnKeyPress
Works as according to the keyboard, triggers this event, may monitor keybord situation
4 RegEvent
When the connection succeed , calling the function, real-time event will be activated , For
function;
Below is the definition of registered events. All registered events is EventMask = 0x7FFF (
IF CZKEM1.RegEvent (devID, 32767) then / / registration all events, reg all event
Connect to equipment
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
-9-
ZKSoftware (Spain) communication SDK manual
DataBuffer
Transact,the Databuff pointer
move to next
Complate downloading
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 10 -
ZKSoftware (Spain) communication SDK manual
4. Function Description
4.1.1.1 GetUserInfo
[Protocal]
VARIANT_BOOL GetUserInfo([in] LONG dwMachineNumber, [in] LONG
dwEnrollNumber, [in] BSTR * Name, [in] BSTR * Password, [in] LONG * Privilege, [in]
VARIANT_BOOL * Enabled)
[Purpose]
Via registered user No. get user information.
[Parameter]
Pleaserefer to SetUserInfo
[Return Value]
Return True for success, otherwise False.
[Exanple]
Dim dwEnrollNumber
Dim name As String
Dim password As String
Dim privileg As Integer
Dim enable As Boolean
Dim temp As Boolean
dwEnrollNumber = 55555
temp = CZKEM1.GetUserInfo(machineNumber, dwEnrollNumber, name, password,
privileg, enable)
4.1.1.2 SetUserInfo
[Protocal]
VARIANT_BOOL SetUserInfo([in] LONG dwMachineNumber, [in] LONG
dwEnrollNumber, [in] BSTR Name, [in] BSTR Password, [in] LONG Privilege, [in]
VARIANT_BOOL Enabled)
[Purpose]
Enroll one user and write in his information.
[Parameter]
dwEnrollNumber
Regitered No.the user has enolled.
Name
User Name
Password
User Password
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 11 -
ZKSoftware (Spain) communication SDK manual
Privilege
Users Privilege0Commone User1enroller 2Administrator;3Supper
Administrator
Enabled
Whetherthe user is forbided or not, False is forbid.
[Return Value]
Return True for success, otherwise False.
[Example]
Dim dwEnrollNumber As Long
Dim name As String
Dim password As String
Dim privileg As Long
Dim enabled As Boolean
dwEnrollNumber = 1
name = "Henry"
password = "12"
privileg = 3
enabled = True
CZKEM1.CardNumber(0) = 234 here setup users Card No.
CZKEM1.SetUserInfo MACHINENUMBER, CInt(dwEnrollNumber), CStr(name),
CStr(password), CInt(privileg), CBool(enabled)
[Special Consideration]
This function takes responsibility as enrolling user, but it still does not write in fingerprint
template ,may use the function SetUsertmpStr\SetUsertmp to upload fingerprint template
data.
4.1.1.3 ClearAdministrators
[Protococol]
VARIANT_BOOL ClearAdministrators ([in] LONG dwMachineNumber)
[Purpose]
Clear all administrators privilege
[Parameter]
dwMachineNumber
Currently all machines No. you want to use.
[Return Value]
If sucessfulthe function returns True, if failed the function returns False.
[Example]
CZKEM1.ClearAdministrators MACHINENUMBER
[Special Consideration]
This function only to be used deletes administrators privilege, unable to cancel the user
who own administrator privilege.
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 12 -
ZKSoftware (Spain) communication SDK manual
4.1.1.4 DeleteEnrollData
[Function]
VARIANT_BOOL DeleteEnrollData([in] LONG dwMachineNumber, [in] LONG
dwEnrollNumber, [in] LONG dwEMachineNumber, [in] LONG dwBackupNumber)
[Purpose]
Delete one user.
[Parameter]
dwMachineNumber
The machine No.
dwEnrollNumber
The user registered No.
dwEMachineNumber
The machine No. you want to operate.
dwBackupNumber
The backup No. more detail see explain.
[Return Value]
Return True for success, otherwise False.
[Example]
Dim dwEnrollNumber As Integer
Dim dwEmachineNumber As Integer
Dim dwBackupNumber As Integer
dwEnrollNumber = 1
dwEmachineNumber = 1
dwBackupNumber=0
4.1.1.5 GetUserInfoByCard
[Proctocol]
VARIANT_BOOL GetUserInfoByCard([in] LONG dwMachineNumber, [in] BSTR *
Name, [in] BSTR * Password, [in] LONG * Privilege, [in] VARIANT_BOOL * Enabled)
[Purpose]
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 13 -
ZKSoftware (Spain) communication SDK manual
CZKEM1.CardNumber(0) = 234
MachineNumber = 1
CZKEM1.GetUserInfoByCard MachineNumber, name, password, privileg, enabled
4.1.1.6 BeginBatchUpdate
[Function]
BeginBatchUpdate([in] LONG dwMachineNumber,[in] LONG UpdateFlag,
[out,retval] VARIANT_BOOL* pVal)
[Purpose]
Start to upload in the batch mode, at present; only ZEM100 series products support this
function after 5.11 editions. ZEM200 product will own this function in 2006-9-15 later
product. Inspect product depending on the actual situation. Before uploading the user
information, the fingerprint template, be sure to perform this function, SDK will store all
data temporarily in buffer till all uploading is executed, there are corresponding function
BatchUpdate to upload the data to the machine in once time. The efficiency of this function
is enormously enhanced than the function SetUserinfo\SetUserTmp in the circle uploading.
[Parameter]
UpdateFlag: Upload lable. 1: Forcefully covers the fingerprint which exists in the
machine. 0: Do not cover the fingerprint which already existed. PVal: the return value of
the function.
[Return Value]
Return True for success, otherwise False.
[Example]
Dim sqlstr As String
Dim tempUserID As Long
Dim tempdata() As Byte
Dim tempdataSize As Long
Dim recCount As Long
Dim i As Long
Dim falg As Boolean
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 14 -
ZKSoftware (Spain) communication SDK manual
tempUserID = 0
i=0
Set recFPTEST = New Recordset
sqlstr = "select USERID,FINGERID,TEMPLATE3 from TEMPLATE"
recFPTEST.Open sqlstr, connTEST, adOpenKeyset, adLockOptimistic, -1
please difine connect cable by youself connTEST
'sqlstr = "select USERID,FINGERID from TEMPLATE"
recCount = recFPTEST.RecordCount
4.1.1.7 BatchUpdate
[Function]
BatchUpdate([in] LONG dwMachineNumber, [out,retval] VARIANT_BOOL* pVal)
[Purpose]
Upload the data which is stored in buffer by batch process, please refer to
BeginBatchUpdate codeing
[Parameter]
DwMachineNumber: Machine No.
pValthe Return Vale of function
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 15 -
ZKSoftware (Spain) communication SDK manual
[Return Value]
Return True for success, otherwise False.
4.1.1.8 ReadAllUserID
[Function]
VARIANT_BOOL ReadAllUserID([in] LONG dwMachineNumber)
[Purpose]
Read in all user information to the Memory of PCInclude user No. password, Name,
Card No. etc, excepte the finergerprint template
[Return Value]
Return True for success, otherwise False.
[Example]
Dim userID As Integer
CZKEM1.ReadAllUserID MACHINENUMBER
[Spiecal Consideration]
After this function performance finish, may transfer function GetAllUserID to obtain the
user enrolled No. GetAllUserID ev perform a time, the pointer to aim to user information
moves to the next record, when reads the last record, returns to False.
4.1.1.9 GetUserInfoByPIN2
[Function]
VARIANT_BOOL GetUserInfoByPIN2([in] LONG dwMachineNumber, [in] BSTR *
Name, [in] BSTR * Password, [in] LONG * Privilege, [in] VARIANT_BOOL * Enabled)
[Purpose]
Through PIN2 attribut obtain user information
[Parameter]
dwMachineNumber
Machina Name
Name
User Name
Password
User Password
Privilege
User Privilege
Enabled
Whether the user is forbided or not.
[Return Value]
Return True for success, otherwise False.
[Example]
Dim name As String
Dim password As String
Dim privilege As Integer
Dim enabled As Boolean
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 16 -
ZKSoftware (Spain) communication SDK manual
4.1.1.10 GetPIN2
[Function]
VARIANT_BOOL GetPIN2([in] LONG UserID, [in] LONG* PIN2)
[Purpose]
Depend on the No. user enrolled to get PIN2 value.
[Parameter]
UserID
Machine internal coding (2Bytes).
PIN2
More than 5 digital, User ID mark.
[Return Value]
Return True for success, otherwise False.
[Example]
Dim Pin
Dim pin2 As Long
Pin = 1 User No.1
CZKEM1.GetPIN2 Pin, pin2
[Special Consideration]
In the machine the processing user No.(PIN) is 2 byte, so the coding is 5 digital and
algorism, for some machine, userNo. is 9 byte coding or following more byte ( 4 byte), if
the uers No. more than 2 byte (9 digital code), then the PIN user is unable to see the
coding, this function use PIN to get PIN2.
4.1.1.11 GetUserIDByPIN2
[Protocal]
VARIANT_BOOL GetUserIDByPIN2([in] LONG PIN2, [in] LONG* UserID)
[Purpose]
Via registered user No. get user PIN value. May refer to GetPIN2
[Parameter]
UserID
Assigned No(PIN). when enroll user
PIN2
, the User ID mark, when more than 5 user
[Return Value]
Return True for success, otherwise False.
[Example]
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 17 -
ZKSoftware (Spain) communication SDK manual
Dim pin2
Dim userID As Long
pin2 = 1
CZKEM1.GetUserIDByPIN2 pin2, userID
[Special Consideration]
Like as above exampleaccording to user No. 1 ( PIN2) to get internal 2 byte coding
PIN of machine, because PIN, PIN2 only processed by the interior of machine or SDK, so
it isunused commonly, may do not refer to this function, pass over it.
4.1.1.12 GetSMS
[Function]
VARIANT_BOOL GetSMS(LONG dwMachineNumber, LONG ID, LONG* Tag, LONG*
ValidMinutes, BSTR* StartTime, BSTR *Content)
[Purpose]
Through the No. get a short piece of message.
[Parameter]
ID
The number of a short piece of message
Tag
Typt of short message , 253 commonality short message, 254 User sshort meassage.
StartTime
Start time to short meassage , the standard time format,such as yyyy-mm-dd hh:ss:mm.
Content
The content of short message
ValidMinutes
Vaild minutes. The scope of its value is 0-65535, if that permanent is set to 0. SMS always
take effecte, SMS vaild hous: StartTime + ValidMinutes, if over this time, the system will
not display this SMS
[Return value]
success Return True, otherwise False.
[Example]
Dim Tag As Long
Dim ValidMinutes As Long
Dim StartTime As String
Dim Content As String
Dim MachineNumber
Dim SMSID
MachineNumber = 1
SMSID = 1
CZKEM1.GetSMS MachineNumber, 1, Tag, ValidMinutes, StartTime, Content.
4.1.1.13 SetSMS
[Function]
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 18 -
ZKSoftware (Spain) communication SDK manual
MachineNumber = 1
SMSID = 1
Content = "Hello henry"
Tag = 253
StartTime = "2006-12-12 12:00"
ValidMinutes = 15
CZKEM1.SetSMS MachineNumber, SMSID, Tag, ValidMinutes, StartTime, Content
[Special Consideration]
The short message does not comply with user, it independent on, after uploading the sort
message; distribute the private short message to user.
4.1.1.14 GetAllUserInfo
[Function]
VARIANT_BOOL GetAllUserInfo([in] LONG dwMachineNumber, [in]
LONG *dwEnrollNumber, [in] BSTR * Name, [in] BSTR *
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 19 -
ZKSoftware (Spain) communication SDK manual
4.1.1.15 GetAllUserID
[Protocal]
VARIANT_BOOL GetAllUserID([in] LONG dwMachineNumber, [in]
LONG* dwEnrollNumber, [in] LONG* dwEMachineNumber, [in]
LONG* dwBackupNumber, [in] LONG* dwMachinePrivilege, [in]
LONG* dwEnable)
[Purpose]
Obtain all user information.Before the function performmay use ReadAllUserID to
read all users information into Memory, the function GetAlluserID perform each time, the
user information pointer will move to next record. after read all user information .the
function return False.
[Parameter]
dwMachinePrivilege
User privilege0Common User1Enroller2administrator3 .Supper
administator
[Return Value]
Return True for success, otherwise False.
[Example]
This function server as GetAllUserInfoplease refer to GetAllUserInfo illustration
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 20 -
ZKSoftware (Spain) communication SDK manual
[Spiecal Consideration]
The function can use ReadAllUserID to transfer all user information to Memory, than
repeat reading user information
4.1.1.16 GetBackupNumber
[Protocal]
LONG GetBackupNumber([in] LONG dwMachineNumber)
[Spiecal Consideration]
This function is throwed out, invoild.
4.1.1.17 ModifyPrivilege
[Function]
VARIANT_BOOL ModifyPrivilege( [in] LONG dwMachineNumber, [in] LONG
dwEnrollNumber, [in] LONG dwEMachineNumber, [in] LONG dwBackupNumber, [in]
LONG dwMachinePrivilege)
[Purpose]
Revise users privilege.
[Parameter]
dwBackupNumber
The backup No. of fingerprint, now depending on the backup No, it is unable to
support to revise some users fingerprint privilege.
dwMachinePrivilege
User privilege0User1enroller2administrator 3Supper
Administrator
[Return Value]
Return True for success, otherwise False.
[Example]
Dim dwEnrollNumber ' user ID
Dim dwEmachineNumber
Dim dwBackupNumber
Dim dwMachinePrivilege
dwEnrollNumber = 1
dwEmachineNumber = 1
dwBackupNumber = 0
dwMachinePrivilege = 3
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 21 -
ZKSoftware (Spain) communication SDK manual
4.1.1.18 DeleteSMS
[Function]
VARIANT_BOOL DeleteSMS(LONG dwMachineNumber, [in] LONG ID);
[Purpose]
Delete the short message which correspond some serial No.
[Parameter]
Short meassage ID
[Return Value]
Return True for success, otherwise False.
[Example]
Dim b As Boolean
If CZKEM1.DeleteSMS(vMachineNumber, 1) Then
MsgBox "DeleteSMS OK"
else
MsbBox "DeleteSMS fail"
End If
4.1.1.19 SetUserSMS
[Function]
VARIANT_BOOL SetUserSMS([in] LONG dwMachineNumber, [in] LONG
dwEnrollNumber, [in] LONG SMSID);
[Purpose]
Set user corresponding shorting message. This function only supports Black and
White screen fingerprint machines.
[Parameter]
dwEnrollNumberUser No.
SMSID Short message No.
[Return Value]
Return True for success, otherwise False.
[Example]
Dim EnrollNumber
Dim MachineNumber
Dim SMSID
EnrollNumber=1
MachineNumber=1
SMSID=1
CZKEM1.SetUserSMS MachineNumber, EnrollNumber, SMSID
4.1.1.20 DeleteUserSMS
[Function]
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 22 -
ZKSoftware (Spain) communication SDK manual
4.1.1.21 ClearSMS
[Function]
VARIANT_BOOL ClearSMS([in] LONG dwMachineNumber);
[Purpose]
Support all FP machines (black white and colored screen) with SMS features. Clean
all SMS in the FP machine.
[Parameter]
dwMachineNumber:machine No.
[Return Value]
Return True for success, otherwise False.
[Exmple]
CZKEM1.ClearSMS MachineNumber
4.1.1.22 ClearUserSMS
[Function]
VARIANT_BOOL ClearUserSMS([in] LONG dwMachineNumber);
[Purpose]
Support all FP machines (black white and colored screen) with SMS features. Clean
all personal SMS in the FP machine.
[Parameter]
dwMachineNumber:Machine
[Return Value]
Return True for success, otherwise False.
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 23 -
ZKSoftware (Spain) communication SDK manual
[Example]
CZKEM1.ClearUserSMS MachineNumber
4.1.1.23 SetUserInfoEx
[Function]
SetUserInfoEx([in] LONG dwMachineNumber, [in] long dwEnrollNumber, [in] long
VerifyStyle, [in] BYTE* Reserved, [out,retval] VARIANT_BOOL* pVal)
[Purpose]
Upload user verification way or group verification way, this only mulit- verification
way provided machine by be possible to support this function.
[Parameter]
dwEnrollNumber: User serial number.
VerifyStyle: Matching way. The scope to set the user verification routine is 1-15; there are
total 15 verification ways. If group's verification way is used, then verification way option
is from 129 to 134. The order of the verification way increases by degrees and the order of
the machine verification way menu are same.
For TFT screen Access Control fingerprint machines values are: 0 means the use of group
certification, 128 (FP / PW / RF), 129 (FP), 130 (PIN), 131 (PW),
132 (RF), 133 (FP & RF), 134 (FP / PW), 135 (FP / RF), 136 (PW / RF), 137 (PIN & FP),
138 (FP & PW),
139 (PW & RF), 140 (FP & PW & RF), 141 (PIN & FP & PW), 142 (FP & RF / PIN).
[Return Value]
Return True for success, otherwise False.
[Example]
Dim aflag As Boolean
Dim reser As Byte
Dim EnrollNumber
Dim VerifyStyle
EnrollNumber=1
VerifyStyle=1
reser = 0
aflag = CZKEM1.SetUserInfoEx(MachineNumber, EnrollNumber, VerifyStyle, reser)
If aflag = 1 Then
CZKEM1.RefreshData MachineNumber
MsgBox "successfully", vbInformation + vbOKOnly, "info"
Else
MsgBox "fail", vbInformation + vbOKOnly, "info"
End If
4.1.1.24 GetUserInfoEx
[Function]
GetUserInfoEx([in] long dwMachineNumber, [in] long dwEnrollNumber, [in,out]
LONG* VerifyStyle, [in,out] BYTE* Reserved, [out,retval] VARIANT_BOOL* pVal)
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 24 -
ZKSoftware (Spain) communication SDK manual
[Purpose]
Obtain user verification way.
[Parameter]
ReserKeep up parameter, invalid
Please refer to SetUserInfoEx explanation
[Return value]
Return True for success, otherwise False
[Example]
Dim aflag As Boolean
Dim reser As Byte
Dim verifyType As Long
Dim UserID
UserID=1
aflag = CZKEM1.GetUserInfoEx(MachineNumber, UserID, verifyType, reser)
If aflag = 1 Then
MsgBox "successfully", vbInformation + vbOKOnly, "info"
Else
MsgBox "fail", vbInformation + vbOKOnly, "info"
End If
4.1.2.1 GetUserTmpStr
[Function]
VARIANT_BOOL GetUserTmpStr([in] LONG dwMachineNumber, [in] LONG
dwEnrollNumber, [in] LONG dwFingerIndex, [out] BSTR* TmpData, [out] LONG *
TmpLength)
[Purpose]
obtain fingerprint template information by the character string form.
[Parameter]
dwFingerIndex
Fingerprint Index Range is 0-9.
TmpData
Fingerprint template infomation
TmpLength
Fingerprint template length.
[Return value]
Return True for success, otherwise False.
[Example]
Dim dwEnrollNumber
Dim dwFingerIndex
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 25 -
ZKSoftware (Spain) communication SDK manual
dwEnrollNumber = 1
dwFingerIndex = 0
CZKEM1.GetUserTmpStr MACHINENUMBER,
dwEnrollNumber,dwFingerIndex, tmpData, tmpLength
[Special Consideration]:
It is better to use this function to get the fingerprint
information, it is easy to do so, the character string only
code the base 64 of binary system fingerprint template .
4.1.2.2 SetUserTmpStr
[Function]
VARIANT_BOOL SetUserTmpStr([in] LONG dwMachineNumber, [in] LONG
dwEnrollNumber, [in] LONG dwFingerIndex, [in] BSTR TmpData)
[Purpose]
Write in the fingerprint template by the character string, namely upload the fingerprint
template ( TmpData)of the users (dwEnrollNumber)fingerprint template(dwFingerIndex)
to connected machine. Note department, the [out] express to transfer out to pareameter,
commonly it is a pointer of the function, the [in] express to transfer in parameter. it is a
common variable, not pointer
[Parameter]
Please refer to SetUserTmp function note
[Example]
Dim dwEnrollNumber
Dim dwFingerIndex
Dim tmpData
dwEnrollNumber = 1
dwFingerIndex = 0
tmpData="ocojg52rWoEOOq1egQw1rEtBFp4uRAESmkBLQRZ0wlLBB21BKUEM3EIu
QTPmKGhBCCm8fEkdw7MnQRE6QCXBC9DDVVEE3Kk3QR0iFjvBDRJAckEMz5Vg
gQYbMn1BDy8uKwkNMItPyQ0VL0uBSJozS4FQhR8/ARSDoTHBIl0sIYEKQKYlghJD
oxlBD02aKcERZJwaQRBbhioBKHkRS4EJhyUygVtEozPBPwi4PsEQij5DQQl8HXQJD
ZtkLBOrMM8LEBHCAgQPFBgPBoHAwgKjrfxTfBfAwgIEDKLaiZwdwMF1pKzLrMuq
IcDBc6WZ693rmJrAwW+km87vzJmCwMFmoa3/DBWjy5qG"
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 26 -
ZKSoftware (Spain) communication SDK manual
4.1.2.3 DelUserTmp
[Protocal]
VARIANT_BOOL DelUserTmp([in] LONG dwMachineNumber, [in] LONG
dwEnrollNumber, [in] LONG dwFingerIndex)
[Purpose]
Delete all users fingerprint template information.
[Parameter]
dwFingerIndex
The fingerprint number the user has enrolled, range 0-9, it mean ten fingers
[Return Value]
Return True for success, otherwise False.
[Example]
Dim dwEnrollNumber As Integer
Dim dwFingerIndex As Integer
dwEnrollNumber = 1
dwFingerIndex = 0
Cancel the the No. 1 users the first fingerprint, user No. may be 0-9.
CZKEM1.DelUserTmp MACHINENUMBER, dwEnrollNumber, dwFingerIndex
[Special Consideration]
This function and DeleteEnrollData have same purpose.
4.1.2.4 GetEnrollDataStr
[Function]
HRESULT GetEnrollDataStr( [in] LONG dwMachineNumber, [in] LONG
dwEnrollNumber, [in] LONG dwEMachineNumber, [in] LONG dwBackupNumber, [out]
LONG* dwMachinePrivilege, [out] BSTR* dwEnrollData, [out] LONG* dwPassWord);
[Purpose]
Obtain user information; include the data of fingerprint template.
[Parameter]
dwEnrollNumber and dwEMachineNumber all are machine number
dwBackupNumber
the Number of backup fingerprint, namely fingerprint index.
DwMachinePrivilege
User privilege0Common user1Enroller 2Administrator 3Supper
Administrator
DwEnrollData
Fingerprint data, which represent by the character string.
DwPassWord
User password.
[Return value]
Return True for success, otherwise False.
[Example]
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 27 -
ZKSoftware (Spain) communication SDK manual
Dim dwEnrollNumber
Dim dwEmachineNumber
Dim dwBackupNumber
Dim dwMachinePrivilege As Long
Dim dwEnrollData As String
Dim dwPassWord As Long
Dim MachineNumber
dwBackupNumber = 0
MachineNumber = 1
dwEnrollNumber = 1
dwEmachineNumber = 1
CZKEM1.GetEnrollDataStr MachineNumber, dwEnrollNumber, dwEmachineNumber,
dwBackupNumber, dwMachinePrivilege, dwEnrollData, dwPassWord
4.1.2.5 SetEnrollDataStr
[Function]
VARIANT_BOOL SetEnrollDataStr([in] LONG dwMachineNumber, [in] LONG
dwEnrollNumber, [in] LONG dwEMachineNumber, [in] LONG dwBackupNumber, [in]
LONG dwMachinePrivilege, [in] BSTR dwEnrollData, [in] LONG dwPassWord)
[Purpose]
Through character string form write in users fingerprintr template.
[Parameter]
Please refer to SetUserTmp function explaining, its purpose is same as
SetUserTmpinternally procedure is alikeSetUserTmp is the newest interface.
[Example]
Dim dwEnrollNumber
Dim dwEmachineNumber
Dim dwBackupNumber
Dim dwMachinePrivilege
Dim dwEnrollData
Dim dwPassWord
dwEnrollNumber = 1
dwEmachineNumber = 1
dwBackupNumber = 0
dwMachinePrivilege = 1
dwEnrollData =
"ocojg52rWoEOOq1egQw1rEtBFp4uRAESmkBLQRZ0wlLBB21BKUEM3EIuQTPmKG
hBCCm8fEkdw7MnQRE6QCXBC9DDVVEE3Kk3QR0iFjvBDRJAckEMz5VggQYbMn
1BDy8uKwkNMItPyQ0VL0uBSJozS4FQhR8/ARSDoTHBIl0sIYEKQKYlghJDoxlBD02
aKcERZJwaQRBbhioBKHkRS4EJhyUygVtEozPBPwi4PsEQij5DQQl8HXQJDZtkLBOr
MM8LEBHCAgQPFBgPBoHAwgKjrfxTfBfAwgIEDKLaiZwdwMF1pKzLrMuqIcDBc6
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 28 -
ZKSoftware (Spain) communication SDK manual
WZ693rmJrAwW+km87vzJmCwMFmoa3/DBWjy5qG"
dwPassWord = 1
4.1.2.6 SetUserTmp
[Function]
VARIANT_BOOL SetUserTmp([in] LONG dwMachineNumber, [in] LONG
dwEnrollNumber, [in] LONG dwFingerIndex, [in] BYTE* TmpData)
[Purpose]
Write in user fingerprint template through binary system( upload to device).
[Parameter]
dwFingerIndex
Indx No. is corresponding with fingerprint.
TmpData
Fingerprint template data, binary system format.
[Return Value]
Return True for success, otherwise False.
[Example]
Dim dwEnrollNumber As Integer
Dim dwFingerIndex As Integer
Dim tmpData(1024) As Byte
dwEnrollNumber = 1
dwFingerIndex = 0
tmpData transfer binary system into this array, E,g read data from dadabase.
4.1.2.7 GetUserTmp
[Function]
VARIANT_BOOL GetUserTmp([in] LONG dwMachineNumber, [in] LONG
dwEnrollNumber, [in] LONG dwFingerIndex, [in,out] BYTE*
TmpData, [in,out] LONG * TmpLength);
[Purpose]
Get users fingerprint template information.
[Parameter]
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 29 -
ZKSoftware (Spain) communication SDK manual
dwEnrollNumber
User enrolled Number.
DwFingerIndex
Fingerprint index, range 0-9.
TmpData
The Byte array of the fingerprint template.
TmpLength
Length of fingerprint template.
[Return Value]
Return True for success, otherwise False.
[Example]
Dim dwEnrollNumber
Dim dwFingerIndex
Dim tmpData(1024) As Byte
Dim tmpLength As Long
dwEnrollNumber = 1
dwFingerIndex = 0
CZKEM1.GetUserTmp MachineNumber, dwEnrollNumber,
dwFingerIndex, tmpData(0), tmpLength
4.1.2.8 GetEnrollData
[Function]
VARIANT_BOOL GetEnrollData( [in] LONG dwMachineNumber, [in] LONG
dwEnrollNumber, [in] LONG dwEMachineNumber, [in] LONG dwBackupNumber, [out]
LONG* dwMachinePrivilege, [out] LONG* dwEnrollData, [out] LONG* dwPassWord)
[Purpose]
Obtain user fingerprint template and password. This function obtains the fingerprint
template and the user password by the binary way.
[Parameter]
dwBackupNumber Fingerprint index
dwEnrollDataUser fingerprint template
Other please refers to the function GetEnrollDataStr explanation.
[Return Value]
Return True for success, otherwise False.
[Example]
please refer to the function GetFPTempLength example.
[Spiecal Consideration]
This function is the old edition SDK function, may use function
GetUserTmpStr\GetUserTmp and etc. to replace it, to gain fingerprint template.
Dim dwmachineNumber
Dim dwEnrollNumber
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 30 -
ZKSoftware (Spain) communication SDK manual
Dim dwEmachineNumber
Dim dwBackupNumber
Dim pri As Long
Dim enrolldata(1024) As Byte
Dim pass As Long
dwmachineNumber = 1
dwEnrollNumber = 1
dwEmachineNumber = 1
dwBackupNumber = 0
CZKEM1.GetEnrollData dwmachineNumber, dwEnrollNumber, dwEmachineNumber,
dwBackupNumber, pri, enrolldata(0), pass
4.1.2.9 SetEnrollData
[Function]
VARIANT_BOOL SetEnrollData([in] LONG dwMachineNumber, [in] LONG
dwEnrollNumber, [in] LONG dwEMachineNumber, [in] LONG dwBackupNumber, [in]
LONG dwMachinePrivilege, [in] LONG* dwEnrollData, [in] LONG dwPassWord)
[Purpose]
For someone , write in ( upload) his fingerprint template and password
[Parameter]
dwMachineNumber
Machine No. you want operate.
DwEnrollNumber
User enrolled No.
DwEMachineNumber
Same as dwMachineNumber
DwBackupNumber
Fingerprint backup No. Fingerprint index
dwMachinePrivilege
User privilege
DwEnrollData
Fingerprint data
DwPassWord
User password.
[Return Value]
Return True for success, otherwise False.
[Example]
This function realization is low efficiency than the function SetUserInf and SetUserTmp,
may use the function SetUserInfo andSetUserTmp to replace it.
4.1.2.10 ReadAllTemplate
[Function]
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 31 -
ZKSoftware (Spain) communication SDK manual
4.1.2.11 FPTempConvertNew
[Function]
VARIANT_BOOL FPTempConvertNew([in] BYTE* TmpData1, [in] BYTE* TmpData2,
[in] LONG *Size)
[Purpose]
Convert the fingerprint template collected byBiokey SDK into the new fingerprint template
apply to the stardalone machine.
[Parameter]
TmpData1
The template wants to be converted.
TmpData2
Fingerprint template has been converted.
Size
The converted fingerprint fingerprint size.
[Return Value]
Return True for success, otherwise False.
[Example]
Dim tmpData1(1024) As Byte this parameter server as fingerprint template collected by
Biokey SDK.
Dim tmpdata2(1024) As Byte
Dim size As Integer
CZKEM1.GetUserTmp MACHINENUMBER, 1, 0, tmpData1(0), size
CZKEM1.FPTempConvertNew tmpData1(0), tmpdata2(0), size
[Special Consideration]
Above program illustrate the parameter temDate1 transfer one byte array, the tmpData1(0)
is to pass address, namely transfer all binary system variable. Because it is not convenience
to process binary system, may use FPtempConvertNewStr function to converte it. The
corresponding function, FPTempConvert, will converte the standalone template into
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 32 -
ZKSoftware (Spain) communication SDK manual
4.1.2.12 FPTempConvertNewStr
[Function]
VARIANT_BOOL FPTempConvertNewStr([in] BSTR TmpData1, [in] BSTR* TmpData2,
[in] LONG *Size)
[Purpose]
With character string form, converte BIOKEY SDK template into the new fingerprint
template in the standalone machine. Of couse , use Base 64 to code the bainy system
fingerprint template, can get this character string(Attention : because every time the finger
push differently, every time the collected fingerprint is different.)
[Parameter]
TmpData1
The template needs to be converte.
TmpData2
The template needs to be converte.
Size
The size of converted template.
[Return Value]
Return True for success, otherwise False.
[Example]
Dim tmpData1
Dim tmpdata2 As String
Dim size As Integer
tmpData1="re2df3fd4fsfsfsddfnCTRXERcIQnkA8ghQqLUTCDBikWAIJGdKhTggWdMs
DECE32o1RIqxm4wf3fwYfsMCNDFWdFDfJosIN"
CZKEM1.FPTempConvertNewStr tmpData1, tmpdata2, size
4.1.2.13 FPTempConvertStr
[Function]
VARIANT_BOOL FPTempConvertStr([in] BSTR TmpData1, [in] BSTR* TmpData2, [in]
LONG *Size)
[Purpose]
With character string form, converte the fingerprint template in the standalone machine
into BIOKEYSDK template.
[Parameter]
TmpData1
The template needs to be converte.
TmpData2
The template needs to be converte.
Size
The size of converted templates.
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 33 -
ZKSoftware (Spain) communication SDK manual
[Return Value]
Return True for success, otherwise False.
[Example]
Dim tmpData1
Dim tmpdata2 As String
Dim size As Integer
tmpData1 = "
ocojg52rWoEOOq1egQw1rEtBFp4uRAESmkBLQRZ0wlLBB21BKUEM3EIuQTPmKGh
BCCm8fEkdw7MnQRE6QCXBC9DDVVEE3Kk3QR0iFjvBDRJAckEMz5VggQYbMn1
BDy8uKwkNMItPyQ0VL0uBSJozS4FQhR8/ARSDoTHBIl0sIYEKQKYlghJDoxlBD02a
KcERZJwaQRBbhioBKHkRS4EJhyUygVtEozPBPwi4PsEQij5DQQl8HXQJDZtkLBOrM
M8LEBHCAgQPFBgPBoHAwgKjrfxTfBfAwgIEDKLaiZwdwMF1pKzLrMuqIcDBc6WZ
693rmJrAwW+km87vzJmCwMFmoa3/DBWjy5qG "
4.1.2.14 FPTempConvert
[Function]
VARIANT_BOOL FPTempConvert([in] BYTE* TmpData1, [in] BYTE* TmpData2, [in]
LONG *Size)
[Purpose]
Converte the fingerprint templates which are in the standalone fingerprint machine into the
BIOKEYSDK template.
[Parameter]
TmpData1
The template needs to be converte.
TmpData2
The template needs to be converte.
Size
The size of converted templates
[Return Value]
Return True for success, otherwise False.
[Example]
Please refer to FPTempConvertNew example.
4.1.2.15 GetFPTempLengthStr
[Function]
LONG GetFPTempLengthStr([in] BSTR dwEnrollData)
[Purpose]
Get the size of fingerprint template, use binary sytem to count fingerprint template, the
character string length does not ability to measure fingerprint template length.
[Parameter]
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 34 -
ZKSoftware (Spain) communication SDK manual
dwEnrollData
Someone fingerprint tamplate.
[Return Value]
The size of fingerpint.
[Example]
Dim TmpData1
Dim templen As Long
TmpData1 =
"ocojg52rWoEOOq1egQw1rEtBFp4uRAESmkBLQRZ0wlLBB21BKUEM3EIuQTPmKG
hBCCm8fEkdw7MnQRE6QCXBC9DDVVEE3Kk3QR0iFjvBDRJAckEMz5VggQYbMn
1BDy8uKwkNMItPyQ0VL0uBSJozS4FQhR8/ARSDoTHBIl0sIYEKQKYlghJDoxlBD02
aKcERZJwaQRBbhioBKHkRS4EJhyUygVtEozPBPwi4PsEQij5DQQl8HXQJDZtkLBOr
MM8LEBHCAgQPFBgPBoHAwgKjrfxTfBfAwgIEDKLaiZwdwMF1pKzLrMuqIcDBc6
WZ693rmJrAwW+km87vzJmCwMFmoa3/DBWjy5qG"
templen = CZKEM1.GetFPTempLengthStr(TmpData1)
4.1.2.16 GetFPTempLength
[Protocal]
LONG GetFPTempLength([in] BYTE* dwEnrollData)
[Purpose]
Obtain the langth of the fingerprint template.
[Parameter]
dwEnrollData
Fingerprint template
[Return Value]
The length of fingerprint length
[Example]
Dim length as Long
Dim glngEnrollData(1024) here need to appoint to this
variable
length = CZKEM1.GetFPTempLength(glngEnrollData(0))
The record main include follow attendance record and management record, these recodes
only can be downloaded, to download it is unviable, the mode between downloading
attendance record and management record is same with, read in all record to memory
firstly, than , read out each record.
4.1.3.1 ReadSuperLogData
[Function]
VARIANT_BOOL ReadSuperLogData([in] LONG dwMachineNumber)
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 35 -
ZKSoftware (Spain) communication SDK manual
[Purpose]
Read in all management record to the Memory
[Parameter]
dwMachineNumber
The machine No. you want to operate.
[Return Value]
Return True for success, otherwise False.
[Example]
CZKEM1.ReadSuperLogData MACHINENUMBER
4.1.3.2 ReadGeneralLogData
[Function]
VARIANT_BOOL ReadGeneralLogData([in] LONG dwMachineNumber)
[Purpose]
Read in all attendance record to the Memory.
[Parameter]
dwMachineNumber
The machine No. you want to operate.
[Return Value]
Return True for success, otherwise False.
[Example]
CZKEM1.ReadGeneralLogData MACHINENUMBER
4.1.3.3 GetGeneralLogDataStr
[Function]
VARIANT_BOOL GetGeneralLogDataStr([in] LONG dwMachineNumber, [out] LONG*
dwEnrollNumber, [out] LONG* dwVerifyMode, [out] LONG* dwInOutMode, [out] BSTR
*TimeStr);
[Purpose]
Obtain a date of attendance logs from PC Memory, when this function performs its
obligations each time, the pointer of storeage record in the Memory move to next digit,
when obtain record, and read all attendance record from the machine, because the
attendance record comparatively is a few. After reading, use this function to get all
attendance record, when the pointer of attendance record in the Memory move to last digit,
this function return Value is False.
[Parameter]
dwVerifyMode
Matching Modeits description as follow
Value Description
1 Fingerprint
0 Password
dwInOutMode
Time&Attendance stateits description as follow
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 36 -
ZKSoftware (Spain) communication SDK manual
Value Description
0 On duty
1 Off duty
2 Check-out
3 Check-out back
4 Overtime check-in
5 Overtime check out
[Return Value]
Return True for success, otherwise False.
[Example]
Dim dwEnrollNumber As LONG
Dim dwVerifyMode As LONG
Dim dwInOutMode As LONG
Dim timeStr As String
Dim i As Long
CZKEM1.ReadAllGLogData machineNumber
i=i+1
while CZKEM1.GetGeneralLogDataStr(machineNumber, dwEnrollNumber,
dwVerifyMode, dwInOutMode, timeStr)
MsgBox "get success " & i & " times"
i=i+1
Wend
4.1.3.4 GetSuperLogData
[Function]
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)
[Purpose]
Obtain one data of management log from the PC Memory one by one, Like as read
attendance record , all user, may use the function ReadSuperLogData to get all
management record. If this function performs one time, the pointer will point to next
record.
[Parameter]
Params4
Aims at the pointer of the long variable, this variable accept the number value of
administrator registration machine which perform the management operation
Params1
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 37 -
ZKSoftware (Spain) communication SDK manual
Aims at the pointer of the long variable, this variable accept the register number value of
the management operation object. If the operation object is a terminal itself (namely
management operation is to revise terminal system information), this parameter value is 0
Params2
Aims at the pointer of the long variable, this variable accept the number value of the
registration machine of the management operation object. If the operation object is the
terminal itself (namely the managemen operation is to revise terminal system information
t), this parameter value is 0
Params3
Keep down field, invalid
dwManipulation
Aims at the pointer of the long variable, this variable receive the type value of the
management operation which carries in the terminal. The type value to Management
operation, which explanation as follows:
[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
4.1.3.5 GetAllSLogData
[Function]
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)
[Purpose]
Read out management record from the Memory of PC, this management record in the
Memory is readed out by the function ReadAllSLogData, it server as the function
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 39 -
ZKSoftware (Spain) communication SDK manual
CZKEM1.ReadAllSLogData MachineNumber
i=1
While CZKEM1.GetAllSLogData(MachineNumber, dwTMachineNumber,
dwSenrollNumber, params4, params1, params2, dwManipulation, params3, dwYear,
dwMonth, dwDay, dwHour, dwMinute)
DoEvents
i=i+1
Wend
4.1.3.6 GetAllGLogData
[Function]
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)
[Purpose]
Reads out the attendance record from the computer, and the attendance record is readed in
the Memory by the function ReadAllGLogData, This function perform a time every time,
the attendance recording pointer moves to the next record, after readsing the records, the
function returns to False. This function function and GetGeneralLogDataStr are completely
same, the realization is same.
[Parameter].
dwEnrollNumber
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 40 -
ZKSoftware (Spain) communication SDK manual
4.1.3.7 ReadAllSLogData
[Function]
VARIANT_BOOL ReadAllSLogData([in] LONG dwMachineNumber)
[Purpose]
Read in all management record to the Memoryserver as the function
ReadSuperLogData,please refer to
4.1.3.8 ReadAllGLogData
[Function]
VARIANT_BOOL ReadAllGLogData([in] LONG dwMachineNumber)
[Purpose]
Read in all attendance record to the Memory. It serve as the function
ReadGeneralLogDat,please refer to this function explanation, for compatible.
4.1.3.9 ClearSLog
[Function]
VARIANT_BOOL ClearSLog([in] LONG dwMachineNumber)
[Purpose]
Clean all administrator logs.
[Parameter]
dwMachineNumber
Currently all machines No. you want to operate.
[Return Value]
Return True for success, otherwise False.
[Example]
CZKEM1.ClearSLog MACHINENUMBER
4.1.3.10 GetGeneralExtLogData
[Function]
VARIANT_BOOL GetGeneralExtLogData([in] LONG dwMachineNumber, [in,out]
LONG* dwEnrollNumber, [in,out] LONG* dwVerifyMode, [in,out] LONG*
dwInOutMode, [in,out] LONG* dwYear, [in,out] LONG* dwMonth, [in,out] LONG*
dwDay, [in,out] LONG* dwHour, [in,out] LONG* dwMinute, [in,out] LONG* dwSecond,
[in,out] LONG* dwWorkCode, [in,out] LONG* dwReserved)
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 41 -
ZKSoftware (Spain) communication SDK manual
[Purpose]
The downloading attendance record, is a enhancing function of the function
GetGeneralLogData, but it compatible with GetGeneralLogData. Some machines have the
WorkCode function; this function may gain the inputted WorkCode. when user verifiy
fingerprint
[Parameter]
dwWorkCodeUser inputs WorkCode value when he place finger. If the WorkCode
does not exsit, then returns to 0.
dwReservedIn order to retain the parameter, invalid.
For other parameters please refer to the function
GetGeneralLogData\GetGeneralLogData showing.
[Return Value]
Return True for success, otherwise False.
[Example]
4.1.4.1 BackupData
[Function]
VARIANT_BOOL BackupData([in] BSTR DataFile)
[Purpose]
Store users information, fingerprint , recorder etc. by file formats, this function only
spport ZEM 100 seial products
[Parameters]
DataFile
Save name of the file path, with disc lable, E.g c:\aaa.bak .
[Return Values]
If sucessfulthe function returns True, if failed the function returns False.
[Example]
//Be sure the fingerprint machine has been connected with PC , while all function carry on.
Dim dataFile
dataFile = "c:\AAA.bak"
CZKEM1.BackupData dataFile
[Special Consideration]
This function may to be used along with RestoreData.
4.1.4.2 RestoreData
[Function]
VARIANT_BOOL RestoreData([in] BSTR DataFile)
[Purpose]
Restore the machines data from the backuped file, this function onky support ZEM100
seial products(such A1,A2,F7 etc.)
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 42 -
ZKSoftware (Spain) communication SDK manual
[Parameter]
DataFile
Data File is a backup file, which is backuped by the function BackupData.E,g
C:\xxx.bak.
[Return Value]
If sucessfulthe function returns True, if failed the function returns False.
[Example]
Dim dataFile
dataFile = "c:\AAA.bat"
CZKEM1.BackupData dataFile
[Special Consideration]
If with serial port communication, it will take more time while restore machine data, pleae
take pains for waiting.
4.1.4.3 ClearKeeperData
[Protrocol]
VARIANT_BOOL ClearKeeperData([in] LONG dwMachineNumber)
[Purpose]
Clear all data in the standalone fingerprint machine, such as user information, fingerprints,
attendance logs, management record.
[Parameter]
dwMachineNumber
Currently all machines No. you want to operate.
[Return Value]
Return True for success, otherwise False.
[Example]
CZKEM1.ClearKeeperData MACHINENUMBER
[Special Consideration]
Because as the operation maybe arising of loss all data in the standalone machine, be
careful to use it.
4.1.4.4 ClearGLog
[Function]
VARIANT_BOOL ClearGLog([in] LONG dwMachineNumber)
[Purpose]
Clean all attendance logs.
[Parameter]
dwMachineNumber
Currently all machines No. you want to operate.
[Return Value]
Return True for success, otherwise False.
[Exampe]
CZKEM1.ClearGLog MACHINENUMBER
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 43 -
ZKSoftware (Spain) communication SDK manual
4.1.4.5 PINWidth
[Function]
LONG PINWidth()
[Purpose]
Obtain the most length of user enroll number, this is a attribute, the most user No. is five
algorism. Or more than 5digit , such as 9 digit
[Return value]
Return the most length of user enrolled No.
[Example]
Dim tmpWidth As Integer
tmpWidth = CZKEM1.PINWidth()
4.1.4.6 RefreshData
[Function]
VARIANT_BOOL RefreshData([in] LONG dwMachineNumber)
[Purpose]
Refresh data.
[Return Value]
Return True for success, otherwise False.
[Example]
CZKEM1.RefreshData MACHINENUMBER
[Spiecal Consideration]
After uploading user or fingerprint, transfer it, so all modification will take effect at
once, produce synchro result.
4.2.1 ACUnlock
[Protocal]
VARIANT_BOOL ACUnlock([in] LONG dwMachineNumber, [in] LONG Delay)
[Purpose]
Open doormake the controller to export a electric- level to open door, in commonly
the fingerprint machine does not control lock, only imform controller to open door.
[Parameter]
dwMachineNumber
The machine No. you want to operate.
Delay
The duration of opening the door.
[Return value]
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 44 -
ZKSoftware (Spain) communication SDK manual
4.2.2 EnableUser
[Function]
VARIANT_BOOL EnableUser([in] LONG dwMachineNumber, [in] LONG
dwEnrollNumber, [in] LONG dwEMachineNumber, [in] LONG dwBackupNumber,
VARIANT_BOOL bFlag)
[Purpose]
Set the user as a prohibited or permit user.
[Parameter]
dwMachineNumber
The machine No. you want to opeate
DwEnrollNumber
User enrolled No.
DwEMachineNumber
Same as dwMachineNumberMachine No.
DwBackupNumber
Fingerprint index
BFlag
Whether the user is permit to use, True is able to use, otherwise it is forbided user
[Return Value]
Return True for success, otherwise False
[Example]
Dim dwEnrollNumber
Dim dwEmachineNumber
Dim dwBackNumber
Dim bFlag
dwEnrollNumber = 1
dwEmachineNumber = 1
dwBackNumber = 0
bFlag = True
CZKEM1.EnableUser MACHINENUMBER, dwEnrollNumber, dwEmachineNumber,
dwBackNumber, bFlag
4.2.3 GetUserTZs
[Function]
VARIANT_BOOL GetUserTZs([in] LONG dwMachineNumber, [in] LONG
dwEnrollNumber, [in] LONG *TZs)
[Purpose]
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 45 -
ZKSoftware (Spain) communication SDK manual
4.2.4 SetUserTZs
[Function]
VARIANT_BOOL SetUserTZs([in] LONG dwMachineNumber, [in] LONG
dwEnrollNumber, [in] LONG *TZs)
[Purpose]
Set user Time Zone.
[Parameter]
dwEnrollNumber
User enrolling No.
TZs
Time Zonewhen the Time Zone is in empty, please use groups option, when the
Time Zone is not in empty, user is assigned to option.
[Return Value]
Return True for success, otherwise False.
[Example]
Dim dwEnrollNumber
Dim tzs(2) As Long
dwEnrollNumber = 1
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 46 -
ZKSoftware (Spain) communication SDK manual
tzs(0) = 1
tzs(1) = 2
tzs(2) = 0
CZKEM1.SetUserTZs MachineNumber, dwEnrollNumber, tzs(0)
CZKEM1.RefreshData MachineNumber
4.2.5 GetUserGroup
[Function]
VARIANT_BOOL GetUserGroup([in] LONG dwMachineNumber, [in] LONG
dwEnrollNumber, [in] LONG *UserGrp)
[Purpose]
Gain the group that user is in.
[Parameter]
UserGrp
The group that user is in.
[Example]
Dim dwEnrollNumber
Dim userGrp As Long
dwEnrollNumber = 1
Obtain the group that user 1 is in
CZKEM1.GetUserGroup MACHINENUMBER, dwEnrollNumber, userGrp
4.2.6 SetUserGroup
[Function]
VARIANT_BOOL SetUserGroup([in] LONG dwMachineNumber, [in] LONG
dwEnrollNumber, [in] LONG UserGrp)
[Purpose]
Set the group which a user belong to.
[Parameter]
dwEnrollNumber
User enrolling No.
UserGrp
Some one group.
[Return Value]
Return True for success, otherwise False
[Example]
Dim dwEnrollNumber
Dim userGrp
dwEnrollNumber = 1
userGrp = 1
CZKEM1.SetUserGroup MACHINENUMBER, dwEnrollNumber, userGrp
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 47 -
ZKSoftware (Spain) communication SDK manual
4.2.7 GetACFun
[Function]
VARIANT_BOOL GetACFun([in] LONG* ACFun)
[Purpose]
Get the time to unlock delayed
[Parmeter
ACFun
How long will be duration to unlock.
[Example]
Dim acFun as Long
CZKEM1.GetACFun acFun
4.2.8 GetTZInfo
[Proctocol]
VARIANT_BOOL GetTZInfo([in] LONG dwMachineNumber, [in] LONG TZIndex, [in]
BSTR *TZ)
[Purpose]
Obtain time information.
[Parameter]
dwMachineNumberfingerprint No.
TZIndexTime Zone index
TZTime Zone character string
[Return Value]
Return True for success, otherwise False.
[Example]
Dim tzIndex
Dim tz As String
tzIndex = 1
CZKEM1.GetTZInfo MACHINENUMBER, tzIndex, tz may view the format of
following characte string
Debug.Pint tz
such as 01002359000023590000235900002359000023590000235900002359
Set starting time and ending timein the Time Zone, like this item is from 09:00to 14:00,
may write this item as 09001400, total 8 character, you can know that the time format is
24hour, the Time Zone start at the weekend, follow this rule, we can kwon that each Time
Zone consist from 8*7 charact, depending on this format you can analyse Time Zone.
4.2.9 SetTZInfo
[Function]
VARIANT_BOOL SetTZInfo([in] LONG dwMachineNumber, [in] LONG TZIndex, [in]
BSTR TZ)
[Purpose]
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 48 -
ZKSoftware (Spain) communication SDK manual
[Example]
Dim tzIndex
Dim tz
tzIndex = 1
tz = "01002359000023590000235900002359000023590000235900002359"
CZKEM1.SetTZInfo MACHINENUMBER, tzIndex, tz
4.2.10 GetUnlockGroups
[Function]
VARIANT_BOOL GetUnlockGroups([in] LONG dwMachineNumber, [in] BSTR *Grps)
[Purpose]
Obtain the information about unlock combine.
[Parameter]
dwMachineNumber
Machine No. which is in used.
Grps
information about unlocking Combine, five group. Ten combines, one combine
can include five group, each group is divided by symbol .
[Return Value]
Return True for success, otherwise False.
[Example]
Dim grps As String
CZKEM1.GetUnlockGroups MACHINENUMBER, grps
4.2.11 SetUnlockGroups
[Function]
VARIANT_BOOL SetUnlockGroups([in] LONG dwMachineNumber, [in] BSTR Grps)
[Purpose]
[parameter]
Grps
Unlock combine, character string combine, need to set 10 combine, each
combine divided by symbols
[Return Value]
Return True for success, otherwise False.
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 49 -
ZKSoftware (Spain) communication SDK manual
[Example]
Dim grps
grps = "12:13:14:15:23:24::::"
CZKEM1.SetUnlockGroups MACHINENUMBER, grps
such as format 12:13:14:15:23:24:::: if there are not combine of the option, there is not
characte after the symbol .General means : 1,2 group combine13group combine.
14groupcombine. 15group combine,23 group combine. 24group combine.
Follow combine is empty, namely there is not combine of the option.
4.2.12 GetGroupTZs
[Function]
VARIANT_BOOL GetGroupTZs([in] LONG dwMachineNumber, [in] LONG
GroupIndex, [in] LONG *TZs)
[Purpose]
Obtain group Time Zone.
[Parameter]
GroupIndex
Grop Time Zon
TZs
Group Time Zone, there are three Time Zone.
[Return Value]
Return True for success, otherwise False.
[Example]
Dim groupIndex
Dim tzs(2) As Long
groupIndex = 1
CZKEM1.GetGroupTZs MACHINENUMBER, groupIndex, tzs
4.2.13 SetGroupTZStr
[Function]
VARIANT_BOOL SetGroupTZs([in] LONG dwMachineNumber, [in] LONG GroupIndex,
[in] BSTR *TZs)
[Purpose]
Obtain group used Time Zone through charact string.
[Parameter]
GroupIndex
Group index
TZs
Time Zone character string, if there is not Time Zone, Use the symbol to divide
this Time Zone.
[Return Value]
Return True for success, otherwise False.
[Example]
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 50 -
ZKSoftware (Spain) communication SDK manual
Dim groupIndex
Dim tzs
groupIndex = 1
tzs = "1:2:3" Use Group 1 time 123.
4.2.14 GetGroupTZStr
[Function]
VARIANT_BOOL GetGroupTZStr([in] LONG dwMachineNumber, [in] LONG
GroupIndex, [in] BSTR *TZs)
[Purpose]
Obtain group Time Zone.
[parameter]
GroupIndex
Group index
TZs
Time Zone is used by group, Use the symbol to divide this Time Zone.
[Return Value]
Return True for success, otherwise False.
[Example]
Dim groupIndex
Dim tzs As String
groupIndex = 1
CZKEM1.GetGroupTZStr MACHINENUMBER, groupIndex, tzs
4.2.15 SetGroupTZStr
[Function]
VARIANT_BOOL SetGroupTZStr([in] LONG dwMachineNumber, [in] LONG
GroupIndex, [in] BSTR TZs)
[Purpose]
Set Group Time Zone
[Parameter]
Please refer to GetGroupTZStrTZs is a Time Zone character string Use the symbol
to divide this Time Zone.
[Return value
Return True for success, otherwise False.
[Example]
Dim groupIndex
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 51 -
ZKSoftware (Spain) communication SDK manual
Dim tzs
groupIndex = 1
tzs = "1:2:3"
CZKEM1.SetGroupTZStr MACHINENUMBER, groupIndex, tzs
4.2.16 GetUserTZStr
[Potocol]
VARIANT_BOOL GetUserTZStr([in] LONG dwMachineNumber, [in] LONG
dwEnrollNumber, [in] BSTR *TZs)
[Purpose]
Get users Time Zone
[Parameter]
dwEnrollNumber
User Enrolled No.
TZs
Users unlocking Time Zone. Their format is:
TFT secreen Access Control machine: X1: X2: X3: X4, X1 = 1 whether use the group self
defined Time Zone, The empty means the use of the the group Time Zone. X2, X3, X4
present that number of the used Time Zone. For example, a user A use the self-defined
Time Zone 1,2, then the returned value of the fingerprint machine is: "1:1:2:"
Black-and-white screen Access Control: X1: X2: X3; X1, X2, X3 means the numbers of
the used self-defined Time Zone. Users make a judgment for whether or not use group
Time Zone, please use UseGroupTimeZone function return values to judge. For example, a
Use A use the self-defined Time Zone 1,2,3, then the returned value of the fingerprint
amchine is: "1:2:3.
[Example]
Dim dwEnrollNumber
Dim tzs As String
dwEnrollNumber = 1
CZKEM1.GetUserTZs machineNumber, dwEnrollNumber, tzs
4.2.17 SetUserTZStr
[Function]
VARIANT_BOOL SetUserTZStr([in] LONG dwMachineNumber, [in] LONG
dwEnrollNumber, [in] BSTR TZs)
[Purpose]
Set user s Time Zone, Use the symbol to divide this Tzs Time Zone
[Parameter]
Please refer to SetUserTZ
[Return Value]
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 52 -
ZKSoftware (Spain) communication SDK manual
4.2.18 GetDoorState
[Function]
GetDoorState(LONG MachineNumber, [in,out] LONG* State, [out,retval]
VARIANT_BOOL* pVal)
[Purpose]
Obtain door sensor state.
[Parameter]
State: Door state1Open the door0Close the door.
[Return Value]
Return True for success, otherwise False.
[Example]
Dim State As Long
CZKEM1.GetDoorState MACHINENUMBER, State
4.2.19 UseGroupTimeZone
[Function]
UseGroupTimeZone (Void)
[Propuse]
It is used to judge that user whether use the Group Time Zone, unless this function
worke with the function GetUserTZs or GetGroupTZStr together. return the correct value.
[Return Value]
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 53 -
ZKSoftware (Spain) communication SDK manual
Return True if the UseGroup Time Zone has been used , otherwise False.
[Example]
Dim UseGroupFlag As Boolean
Dim MachineNumber As Long
Dim GroupIndex As Long
Dim strTime As String
MachineNumber = 1
GroupIndex = 1
CZKEM1.GetGroupTZStr(MachineNumber, GroupIndex, strTime)
UseGroupFlag = CZKEM1.UseGroupTimeZone()
4.3.1 Beep
[Function]
VARIANT_BOOL Beep([in] LONG DelayMS)
[Purpose]
Make machine bell to ring
[Parameter]
DelayMS
How long will the bell ring duration
[Return Value]
Return True for success, otherwise False.
[Example]
Dim delayMs As Integer 'Delay time
delayMs = 150
CZKEM1.Beep delayMs
4.3.2 ClearLCD
[Function]
VARIANT_BOOL ClearLCD()
[Purpose]
Clean Screenclear the character on the screen, because of after clearing screen, this
second dot(:) is unable to be cleared , may use the function EnableClock to stop or restart
its glint, to get a field you want to write.
[Return Value]
Return True for success, otherwise False.
[Example]
CZKEM1.ClearLCD 'Clear scr
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 54 -
ZKSoftware (Spain) communication SDK manual
4.3.3 Connect_Com
[Function]
VARIANT_BOOL Connect_Com([in] LONG ComPort, [in] LONG MachineNumber, [in]
LONG BaudRate)
[Purpose]
Connect with PC from Pc serial Port. This function applies to RS232/RS 485 together.
[Parameter]
ComPort
Serial Port No.
MachineNumber
Machine no.
BaudRate
BaudRate
[Return Value]
Return True for success, 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
4.3.4 Connect_Net
[Function]
VARIANT_BOOL Connect_Net([in] BSTR IPAdd, [in] LONG Port)
[Purpose]
Appoint IP address to connect with machine, create network by the fingerprint
machine.
[Parameter]
IPAdd
IP address of the machineability to set it by the machine keypad or the
function SetDeviceIP.
Port
Port No. , commonly it is 4370.
[Return Value]
Return True for success, otherwise False.
[Example]
Dim ipAdd
Dim port As Integer
Dim flag As Boolean
ipAdd = "192.168.1.159"
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 55 -
ZKSoftware (Spain) communication SDK manual
port = 4370
flag = CZKEM1.Connect_Net(ipAdd, port)
If flag = True Then
CZKEM1.EnableDevice MACHINENUMBER, False
End If
After performing the connection function , return the wrong number that express meaning
as follows
-1 Fail to add communication support libraries.
-2 Fail to blind port.
-5 Fail to create thread.
-6 Fail to pass the authentication,it is possibility to have the password.
-7 Order has not get the response.
4.3.5 DisableDeviceWithTimeOut
[Function]
VARIANT_BOOL DisableDeviceWithTimeOut([in] LONG dwMachineNumber,[in]
LONG TimeOutSec)
[Purpose]
Set the time length that the machine is under the active status (overtime time length).
[Parameter]
TimeOutSec
the time length that is under the active status, the unit is second.
[Return value]
Return True for success, otherwise False.
[Example]
Dim timeOutSec As Integer
timeOutSec = 1200
CZKEM1.DisableDeviceWithTimeOut MACHINENUMBER, timeOutSec
[Spiecal Consideration]
. After connecting with the machine, in order to keep that the data is consistent or
avoids fault occuring, ensure the machine is at the active status; If no longer communicate
with the machine , the application program has not separated the machine , the machine
will automatically disconnecte.
4.3.6 Disconnect
[Function]
Disconnect (void)
[Purpose]
Disconnection, SDK control automatically release resources.
[Example]
CZKEM1.EnableDevice MACHINENUMBER, True
CZKEM1.Beep (150) 'Make machine beep
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 56 -
ZKSoftware (Spain) communication SDK manual
4.3.7 EnableDevice
[Function]
EnableDevice[in] LONG dwMachineNumber[in] VARIANT_BOOL Enabled
[Purpose]
Be sure the machine is in the active or shutdown status.
[Parameter]
dwMachineNumber
operates machine number
Enabled
If it is true, then it is in the active status. Otherwise it is in the shutdown state,
will shield the periphery keyboard, fingerprint sensor and so on
[Example]
CZKEM1.EnableDevice MACHINENUMBER, True
4.3.8 EnableClock
[Function]
VARIANT_BOOL EnableClock([in] LONG Enabled)
[Purpose]
Make the machine clock to stop or move, the ': ' display in the liquid crystal screen,
Cannot flash.
[parameter]
Enabled
If the function is True, then the clock is at the active status, otherwise it is in
stagnating (does not glitter).
[Return Value]
Return True for success, otherwise False.
[Example]
Dim enabled As Boolean
enabled = False
CZKEM1.EnableClock enabled
4.3.9 GetDeviceStatus
[Function]
VARIANT_BOOL GetDeviceStatus([in] LONG dwMachineNumber, [in] LONG
dwStatus, [in] LONG* dwValue)
[Purpose]
Obtains the canned data of the machine, like manager count, registried user count,
template count and so on
[Parameter]
dwMachineNumber
The machine number you operate.
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 57 -
ZKSoftware (Spain) communication SDK manual
DwStatus
Must obtain the condition type of the machine, description as follows:
The value The description
1 Administrator Count
2 Register users Count
3 Fingerprint template Count
4 Password Count
5 The record number of times which administrator perform
management.
6 Attendance records number of times.
7 Fingerprint capacity.
8 Users capacity
9 Recording capacity
DwValue
Obtain the value which describes by DwStatus.
[Return Value]
Return True for success, otherwise False.
[Example]
Dim dwStatus As Integer
Dim dwValue As Integer
dwStatu = 1 'Count of administrators
CZKEM1.GetDeviceStatus MACHINENUMBER, dwStatus, dwValue
4.3.10 GetDeviceInfo
[Function]
VARIANT_BOOL GetDeviceInfo([in] LONG dwMachineNumber, [in] LONG dwInfo,
[in] LONG* dwValue)
[Purpose]
Obtain the option information of the machine, like language, the max record and so
on.
[Parameter]
dwMachineNumber
the machine number you want to operate
DwInfo
must obtain the information type of the machine option, description as follows
Value Description
1. the maximum quantities of managers
2. Machines numbers.
3. Language
Value Description
0 English
1 Chinese
2 Korean
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 58 -
ZKSoftware (Spain) communication SDK manual
[Example]
Dim dwInfo As Integer
Dim dwValue As Integer
dwInfo =1
CZKEM1.GetDeviceInfo MACHINENUMBER, dwInfo, dwValue
4.3.11 GetWiegandDefine
[Function]
VARIANT_BOOL GetWiegandDefine([in] LONG dwMachineNumber, [in] BSTR
*sWiegandDefine)
[Purpose]
Obtain Wiegand formate. The Weigend output of Access Control device consist from
machine No.+User No.
[Parameter]
dwMachineNumber
the machine No. you want to operate
SWiegandDefine
Wiegand formate
[Example]
Dim sWiegandDefine As String
weigend 26,p parity bitE the bit is occupied by machine No.O the bit is occupied by
User No.
sWiegandDefine= PEEEEEEEEEEEEOOOOOOOOOOOOP
CZKEM1.GetWiegandDefine MACHINENUMBER, sWiegandDefine
4.3.12 GetDeviceIP
[Function]
VARIANT_BOOL GetDeviceIP([in] LONG dwMachineNumber, [in] BSTR *IPAddr)
[Purpose]
Get the IP address of the fingerprint machine
[Parmeter]
IPAddr
IP Address
[Example]
Dim ipAddr As String
CZKEM1.GetDeviceIP MACHINENUMBER, ipAddr
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 60 -
ZKSoftware (Spain) communication SDK manual
4.3.13 SetDeviceIP
[Function]
VARIANT_BOL SetDeviceIP([in] LONG dwMachineNumber, [in] BSTR IPAddr)
[Purpose]
Set the IP address of the fingerprint machine.
[parameter]
Please refer to GetDeviceIP
[Return Value]
Return True for success, otherwise False.
[Example]
Dim ipAddr
Dim flag As Boolean
ipAddr = "192.168.100.173"
flag = CZKEM1.SetDeviceIP(MACHINENUMBER, ipAddr)
4.3.14 GetDeviceMAC
[Function]
VARIANT_BOOL GetDeviceMAC([in] LONG dwMachineNumber, [in] BSTR *sMAC)
[Purpose]
Get machine MAC address.
[Parameter]
sMAC
MAC address
[Return value]
Return True for success, otherwise False.
[Example]
Dim sMac As String
CZKEM1.GetDeviceMAC MACHINENUMBER, sMac
4.3.15 GetDeviceTime
[Function]
VARIANT_BOOL GetDeviceTime([in] LONG dwMachineNumber, [in] LONG* dwYear,
[in] LONG* dwMonth, [in] LONG* dwDay, [in] LONG* dwHour, [in] LONG*
dwMinute, [in] LONG* dwSecond)
[Purpose]
Get the time to the fingerprint machine.
[Parameter]
dwYear dwMonth dwDay dwHour dwMinute dwSecondYear, Month ,Day,
Hour, Minute, Second.
[Return Value]
Return True for success, otherwise False.
[Example]
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 61 -
ZKSoftware (Spain) communication SDK manual
4.3.16 GetSerialNumber
[Function]
VARIANT_BOOL GetSerialNumber([in] LONG dwMachineNumber, BSTR*
dwSerialNumber)
[Purpose]
Get the serial number of the product.
[Parameter]
dwMachineNumber
The machie you want to operate
dwSerialNumber
the serial number of the product
[Return Value]
Return True for success, otherwise False.
[Example]
Dim dwSerialNumber As String
CZKEM1.GetSerialNumber MACHINENUMBER, dwSerialNumber
4.3.17 GetProductCode
[Function]
VARIANT_BOOL GetProductCode([in] LONG dwMachineNumber, BSTR*
lpszProductCode)
[Purpose]
Get the model of the product
[Parameter]
lpszProductCode
product model
[Return value]
Return True for success, otherwise False
[Example]
Dim ipsxProductCode As String
CZKEM1.GetProductCode MACHINENUMBER, ipsxProductCode
4.3.18 GetFirmwareVersion
[Function]
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 62 -
ZKSoftware (Spain) communication SDK manual
4.3.19 GetSDKVersion
[Function]
VARIANT_BOOL GetSDKVersion([in] BSTR* strVersion)
[Purpose]
Get the standalone SDK Version No.
[Parameter]
strVersion
SDK Version No.
[Return value]
Return True for success, otherwise False.
[Example]
Dim strVersion As String
CZKEM1.GetSDKVersion strVersion
4.3.20 PowerOnAllDevice
[Function]
PowerOnAllDevice()
[Purpose
Start up all machine . this function is invalid.
[Return value]
Return True for success, otherwise False.
4.3.21 PowerOffDevice
[Function]
VARIANT_BOOL PowerOffDevice([in] LONG dwMachineNumber)
[Purpose]
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 63 -
ZKSoftware (Spain) communication SDK manual
Shutdown Machine.
[Parameter]
dwMachineNumber
Machine No.
[Return value]
Return True for success, otherwise False.
[Example]
CZKEM1.PowerOffDevice MACHINENUMBER
4.3.22 PlayVoiceByIndex
[Function]
VARIANT_BOOL PlayVoiceByIndex([in] LONG Index)
[Purpose]
Play voice file accord ing to index.
[Parameter]
Index
Voice index.
[Return value]
Return True for success, otherwise False.
[Example]
Dim i As Integer
i=1
CZKEM1.PlayVoiceByIndex i
4.3.23 QueryState
[Function]
VARIANT_BOOL QueryState([in] LONG *State)
[Purpose]
Get the machine state
[Parameter]
State
State value
[Return value]
Return True for success, otherwise False.
[Example]
Dim state As Integer
CZKEM1.QueryState state
4.3.24 RestartDevice
[Function]
VARIANT_BOOL RestartDevice([in] LONG dwMachineNumber)
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 64 -
ZKSoftware (Spain) communication SDK manual
[Purpose]
Restar the machine
[Parameter]
dwMachineNumber
Machine No.
[Return value]
Return True for success, otherwise False.
[Example]
CZKEM1.RestartDevice MACHINENUMBER
4.3.25 SetDeviceInfo
[Function]
VARIANT_BOOL SetDeviceInfo([in] LONG dwMachineNumber, [in] LONG dwInfo,
[in] LONG dwValue)
[Purpose]
Set the machine parameter.
[Parameter]
Please refer to the function GetDeviceInfo, which function corresponding each other
[Return value]
Return True for success, otherwise False.
[Example]
Dim dwInfo
Dim dwValue
dwInfo = 35
dwValue = 20
CZKEM1.SetDeviceInfo MACHINENUMBER, dwInfo, dwValue
4.3.26 SetDeviceTime
[Function]
VARIANT_BOOL SetDeviceTime([in] LONG dwMachineNumber)
[Purpose]
Set the time of the machine and the terminal to sync PC.
[Parameter]
dwMachineNumber
the machine No you operate.
[Return value]
Return True for success, otherwise False.
[Example]
CZKEM1.SetDeviceTime MACHINENUMBER 'Set machine time with sys
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 65 -
ZKSoftware (Spain) communication SDK manual
4.3.27 SetDeviceTime2
[Function]
VARIANT_BOOL SetDeviceTime2([in] LONG dwMachineNumber, [in] LONG dwYear,
[in] LONG dwMonth, [in] LONG dwDay, [in] LONG dwHour, [in] LONG dwMinute, [in]
LONG dwSecond)
[Purpose]
Set time which puposer like as the function SetDeviceTime.
[Parameter]
Separately mean the machie No. year, month, Day , Hour, minute ,Second.
[Return value]
Return True for success, otherwise False.
[Example]
Dim dwYear
Dim dwMonth
Dim dwDay
Dim dwHour
Dim dwMinute
Dim dwSecond
dwYear = 2008
dwMonth = 8
dwDay = 8
dwHour = 8
dwMinute = 8
dwSecond = 8
CZKEM1.SetDeviceTime2 MACHINENUMBER, dwYear, dwMonth, dwDay, dwHour,
dwMinute, dwSecond
4.3.28 SetDeviceMAC
[Function]
VARIANT_BOOL SetDeviceMAC([in] LONG dwMachineNumber, [in] BSTR sMAC)
[Purpose]
Get the vaule to the Machine MAC
[Parameter]
Please refer toGetDeviceMAC
[Return value]
Return True for success, otherwise False.
[Example]
Dim sMAC
SMAc = 00:50:54:00:0C:FC
CZKEM1.SetDeviceMAC MACHINENUMBER, sMAC
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 66 -
ZKSoftware (Spain) communication SDK manual
4.3.29 SetWiegandDefine
[Function]
VARIANT_BOOL SetWiegandDefine([in] LONG dwMachineNumber, [in] BSTR
sWiegandDefine)
[Purpose]
Set the Value to Weigend
[Parameter]
Please refer to GetWiegandDefine
[Return value]
Return True for success, otherwise False.
[Example]
Dim sWiegandDefine
sWiegandDefine = " PEEEEEEEEEEEEOOOOOOOOOOOOP"
CZKEM1.SetWiegandDefine MACHINENUMBER, sWiegandDefine
4.3.30 SetCommPassword
Function]
VARIANT_BOOL SetCommPassword([in] LONG CommKey)
[Purpose]
Set the password to communication
[Parameter]
CommKey
Password for communication
[Return value]
Return True for success, otherwise False.
[Example]
Dim commkey
commkey = 1234
CZKEM1.SetCommPassword commkey
4.3.31 UpdateFirmware
[Function]
VARIANT_BOOL UpdateFirmware([in] BSTR FirmwareFile)
[Purpose]
Upgrade the firmware
[Parameter]
FirmwareFile
The name of firmware, which includes file pathe.
[Return value]
Return True for success, otherwise False.
[Example]
Dim firmwareFile
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 67 -
ZKSoftware (Spain) communication SDK manual
firmwareFile = "c:\emfw.cfg.cfg"
CZKEM1.UpdateFirmware firmwareFile
4.3.32 WriteLCD
[Function]
VARIANT_BOOL WriteLCD ([in] LONG Row, LONG Col, BSTR Text)
[Purpose]
Display information on the LCD screen
[Parameter]
Row
Begin line
Col
Begin rank
BSTR
Showind Content
[Return value]
Return True for success, 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
4.4 Others
4.4.1 CaptureImage
[Function]
VARIANT_BOOL CaptureImage([in] VARIANT_BOOL FullImage, [in] LONG *Width,
[in] LONG *Height, [in] BYTE *Image,[in] BSTR ImageFile)
[Purpose]
Capture currently the fingerprint image.
[Parameter]
FullImage
If the function True, then returns all the image of fingerprint, otherwise returnsthe minutes
of the fingerprint.
Width
Assign the width of fingerprint image, because the image you get is a fix scale image,
only assign the width enougth.
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 68 -
ZKSoftware (Spain) communication SDK manual
Height
Assign the heigh of the image
Image
Store up all images to be captured, through binary format which is stored in the variable,
store all data of the image.
ImageFile
Store all fingerprint to be captured throug file format Include file path, such as C:\
ABmP.bmp
[Return value]
Return True for success, 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
[Spiecal Consideration]
This function only supports series ZEM 100 machine< like as A1.A2, A3, F7 etc.
4.4.2 CancelOperation
[Function]
VARIANT_BOOL CancelOperation() Read only
[Purpose]
Cancel current operationSuch as enrolling user, when perfom this function, the user to
enroll will be canceled.
[Return Value]
Return True for success, otherwise False.
[Example]
CZKEM1.CancelOperation
4.4.3 GetLastError
[Function]
GetLastError([in] LONG* dwErrorCode)
[Purpose]
Get the information about error occurring.
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 69 -
ZKSoftware (Spain) communication SDK manual
[Parameter]
dwErrorCode
Obtain Error No. Description 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
[Return Value]
Return True for success, otherwise False.
[Example]
Dim errorCode As Long
CZKEM1.GetLastError errorCode
4.4.4 StartVerify
[Function]
VARIANT_BOOL StartVerify([in] LONG UserID, [in] LONG FingerID)
[Purpose]
Start 1:1 fingerprint matching
[Parameter]
UserID
User enrolled number
FingerID
Fingerprint index
[Example]
Dim UserID As Integer
Dim fingerID As Integer
UserID = 1
fingerID = 1
CZKEM1.StartVerify UserID, fingered
4.4.5 StartEnroll
[Function]
VARIANT_BOOL StartEnroll([in] LONG UserID, [in] LONG FingerID)
[Purpose]
Start to enrool user
[Parameter]
Please refer to the function StartVerify.
[Example]
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 70 -
ZKSoftware (Spain) communication SDK manual
4.4.6 StartIdentify
[Function]
VARIANT_BOOL StartIdentify()
[Purpose]
Start 1:N matching
[Return Value]
Return True for success, otherwise False.
[Example]
CZKEM1.StartIdentify
4.4.7 GetSensorSN
[Function]
GetSensorSN([in] LONG dwMachineNumber, [in,out] BSTR* SensorSN, [out,retval]
VARIANT_BOOL* pVal)
[Purpose]
Get the serial number of the fingerprint sensor, only the ZEM 200 products which
adopt U.r.U fingerprint sensor support this function.
[Parameter]
SensorSNthe serial number of the fingerprint
[Return Value]
Return True for success, otherwise False.
[Example]
Dim SensorSN As String
CZKEM1.GetSensorSN MACHINENUMBER, SensorSN
4.4.8 WriteCard
[Function]
WriteCard([in] LONG dwMachineNumber, [in] LONG dwEnrollNumber, [in] LONG
dwFingerIndex1, [in] BYTE* TmpData1, [in] LONG dwFingerIndex2, [in] BYTE*
TmpData2, [in] LONG dwFingerIndex3, [in] BYTE* TmpData3, [in] LONG
dwFingerIndex4, [in] BYTE* TmpData4, [out,retval] VARIANT_BOOL* pVal)
[Purpose]
Inform machine to write in Mifare card. Write some fingerprint template of someone
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 71 -
ZKSoftware (Spain) communication SDK manual
into Mifare card, after performing this order, the prompt to slip card will appear on the
machine LCD.
[Parameter]
dwMachineNumber: Machine No.
dwEnrollNumberUser No.
dwFingerIndex1Fingerprint index1.
TmpData1Fingerprint Template 2
The content tranrsfered by parameter is someones fingerprints templates, TepData1 connot
empty.
[Return Value]
Return True for success, otherwise False.
[Example]
Dim BWrite As Boolean
Dim UserID
Dim temp1() As Byte 'template 1
Dim temp2() As Byte 'template 2
Dim temp3() As Byte 'template 3
Dim temp4() As Byte 'template 4
UserID=1
CZKEM1.CancelOperation pay attention, this sentence have no use for performance
in some version firmware.
It is need to assign value to the fingerprint template
BWrite=CZKEM1.WriteCard(MACHINENUMBER,UserID, 0, temp1(0), _
1, temp2(0), _
2, temp3(0), _
3, temp4(0))
CZKEM1.StartIdentify Restore machine to default verification state.
4.4.9 EmptyCard
[Function]
EmptyCard([in]LONG dwMachineNumber,[out,retval] VARIANT_BOOL* pVal)
[Purpose]
Clear Mifare card
[Example]
CZKEM1.EmptyCard MACHINENUMBER
___________________________________________________________
Standalone development for ZKEMSDK Reversion
Copyright 2005-2009 ZKSoftware (Spain) Co., Ltd. All rights reserved.
- 72 -
5.Event
In SDK, There are richer event which real-time reflect machine state, like when machine
verify successfully, acting to warn, pressing key and so on ,
5.1 OnAttTransaction
Event prototype as follows
void OnAttTransaction([in] LONG EnrollNumber, [in] LONG IsInValid, [in] LONG AttState, [in] LONG
VerifyMethod, [in] LONG Year, [in] LONG Month, [in] LONG Day, [in] LONG Hour, [in] LONG
Minute, [in] LONG Second)
Purpose
When the fingerprint verify successfully, triggers this event.
Variable meaning
EnrollNumber: The user number
IsInValid: 0 means invalid record, 1means vaild records . Fingerprint Access Control
Machine failed to open the door or case of the Time Zone, the variables will return the
invalid value.
VerifyMethod: Matching Way0Password.1fingerprint verification.
Year, Month, Day, Hour, Minute, Second:
5.2 OnFinger
Event prototype as follows
void OnFinger(void);
Purpose
When press the finger, trigger this event.
5.3 OnNewUser
Event prototype as follows
void OnNewUser([in] LONG EnrollNumber);
Purpose
When press the finger, trigger this event
Variable meaning
EnrollNumberThe user number
5.4 OnEnrollFinger
Event prototype as follows
void OnEnrollFinger([in] LONG EnrollNumber, [in] LONG FingerIndex, [in] LONG ActionResult, [in]
LONG TemplateLength);
Purpose
When enroll fingerprint successfully, trigger this event
Variable
EnrollNumber The user number.
FingerIndex The fingerprint index operates is cancelled
ActionResult0the enrollment is in normal.3fail to save data .4fail to enroll
fingerprint.5the fingerprint is repetition t6. Operateration is cancelled.
TemplateLength the length of fingerprint.
5.5 OnKeyPress
Event prototype as follows
void OnKeyPress(LONG Key);
Purpose
When press the keypad, trigger this event.
Variable meaning
Key: keypad value
5.6 OnVerify
Event prototype as follows
HRESULT OnVerify([in] LONG UserID);
Purpose
When the fingerprint verification is successful, trigger this event
Variable meaning
UserID: the user number. If this value is less than 0, means that the user does not exist.
5.7 OnFingerFeature
Event prototype as follows
HRESULT OnFingerFeature([in] LONG Score);
Purpose
When identify fingerprint, trigger this event.
Variable meaning
Score:After verifying fingerprint, the fingerprint shows score.
5.8 OnAlarm
Event prototype as follows
HRESULT OnAlarm([in] LONG AlarmType,[in] LONG EnrollNumber,[in] LONG Verified);
Purpose
When the dismantling machine or duress alarm occurs, trigger this event.
Variable meaning
AlarmTypeThe type of alarm. The Value is 55: dismantling machine alarm,
the value is 58:Miss push alarm, other value is duress alarm.
EnrollNumber:it is zeroand invalid in this place.
Verifiedit is zeroand invalid in this place.
5.9 OnHIDNum
Event prototype as follows
HRESULT OnHIDNum([in] LONG CardNumber);
Purpose
When slip the card(No. Card) , trigger this event.
Variable meaning
CardNumber Card number
5.10 OnWriteCard
Event prototype as follows
HRESULT OnWriteCard([in] LONG EnrollNumber, [in] LONG ActionResult, [in] LONG Length);
Purpose
When write Mifare card successfully or be failure, trigger this function
Variable meaning
EnrollNumberUser serial number
ActionResultReads in successfully, returns to 0, the failure is the negative value.
Lengththe length of the fingerprint template to be writed in.
5.11 OnEmptyCard
Event prototype as follows
HRESULT OnEmptyCard([in] LONG ActionResult);
Propuse
When clear the card (Mifare card) ,trigger this event.
ActionResult: When return to zero, clear cards successfully.
5.12 OnAttTransactionEx
Event prototype as follows:
void OnAttTransactionEx([in] BSTR EnrollNumber, [in] LONG IsInValid, [in] LONG
AttState, [in] LONG VerifyMethod, [in] LONG Year, [in] LONG Month, [in] LONG Day,
[in] LONG Hour, [in] LONG Minute, [in] LONG Second, [in] LONG WorkCode)
Function:
When the fingerprint verifiy successfully, triggers this event. This function only Work Code
function on the machine supported, and the machine firmware version is above 6.0 . If this
event supports Work Code , TFT screen Fingerprint machine supported available .
Variable meaning:
EnrollNumber
User serial number
IsInValid
0 is invalid value, 1 is valid value, Fingerprint Access Control Machine failed to open
the door or case of the Time Zone, the variables will return the invalid value.
AttState
The checking attendance condition, indicated CheckincheckOut and so on, the value
scope is 0-5. Surpasses invalid.
VerifyMethod
Matching way, 0, password. 1, fingerprint verification. ,for The TFT screen fingerprint
machine, its returned value is 1-14
0(FP/PW/RF), 1(FP), 2(PIN), 3(PW), 4(RF), 5(FP&RF), 6(FP/PW), 7(FP/RF), 8(PW/RF),
9(PIN&FP), 10(FP&PW),11(PW&RF), 12(FP&PW&RF), 13(PIN&FP&PW),
14(FP&RF/PIN)
Year, Month, Day, Hour, Minute, Second
WorkCode
Work serial number.
5.13 ReadRTLog
Event prototype as follows:
HRESULT ReadRTLog ([ in ] LONG dwMachineNumber);
Function:
Obtain real-time event from the machine, waited for triggering the real-time event using the
GetRTLogfunction. For example:OnAttTransaction, OnVerify and so on. This function must
work with theGetRTLog function together. Before SDK 6.0 version, regard, the machine
initiatively send the real-time event to SDK , this kind triggers the mechanism will be able
to cause the communication data error or lose. In order to improve this kind of situation,
after SDK6.0 edition, the machine cannot send out on own initiative. If have to want to have
the real-time event monitoring, to have can trigger the real-time event through the
ReadRTLog function and theGetRTLog function work together.
Regard this function of machine firmware version must be over 6.0above .
Variable meaning:
DwMachineNumber: Machine number
Example:
Dim MachineNumber As Long
MachineNumber = 1
If CZKEM1.ReadRTLog (MachineNumber) then
While CZKEM1.GetRTLog (MachineNumber)
Wend
End If
After transfers the GetRTLog function, SDK can trigger the real-time event.
5.14 GetRTLog
Event prototype as follows:
HRESULT GetRTLog (LONG dwMachineNumber);
Function:
Triggers the real-time event. Must use the ReadRTLog function in frontof triggering to gain
the real-time event. This event must and theReadRTLog coordination use.
Variable meaning:
DwMachineNumber: Machine number
5.15 OnDoor
Event prototype is as follows:
HRESULT OnDoor ([in] LONG EventType);
Functions:
Door sensor Event
Variable meanings:
EventType: 4 means that the door has not shut or door is opened, the 53 that exit- buttons, 5
that door is closed, one that the door was opened accidentally.
5.16 OnEnrollFingerEx
Event prototype as follows
void OnEnrollFingerEx([in] BSTR EnrollNumber, [in] LONG FingerIndex, [in] LONG
ActionResult, [in] LONG TemplateLength)
Purpose
When enroll fingerprint successfully for TFT(colored screen) devices, trigger
this event
Variable
EnrollNumber Users ID.
FingerIndex Users finger print index
ActionResult
0the enrollment is completed successfully.
3fail to save data .
4fail to enroll fingerprint.
5the fingerprint is repetition t
6Operateration is cancelled.
TemplateLengththe length of fingerprint template.
6. Attributes
6.1 AccGroup
Function Set or get user respective group.
Before uploading the user , if has set this attribute, then with the function SetUserInfo and so
on upload the user, set this user respective group, otherwise default as 1 group.
Type: LONG, read-write
6.2 AccTimeZones
Function: Before uploading the user, if has set user attribute, when utilize the function
SetUserInfo to and so on to upload the user, set this user respective Time Zone...
Type: LONG *, read-write, AccTimeZones [1], AccTimeZones [2], AccTimeZones [3] that
means to set or read the No. value s of the Time Period. 1, the Time Period 2, the Time Period 3
the AccTimeZones [4] play a role only for the TFT Access Control machine, if the value is 0
that user use the group Time Period of the, the value is 1 that the use of The self definited Time
Period .
6.3 BASE64
Function: When set this attribute as the true value, when the SDK export character string
template the output is the Base64 code, otherwise is the hexadecimal system code..
Type: LONG, read-write
6.4 CardNumber
Function: Set or read in the user the card number.
Type: LONG, read-write
6.5 CommPort
Function: When set serial port or 485 connection port.
Type: LONG, read-write.
6.6 ConvertBIG5
Function: When set this attribute as the true value, SDK will automatically convert the characte
form simplified to traditional , the SDK is traditional chinese version now, but in the multi-
countries language series product, this function is invalid, please do not set this attribute.
Type: LONG, read-write
6.7 PINWidth
Function: Indicate user serial number (Arabic numeral) the Maximum length.
Type: LONG, read-only
7. FAQ
Firstly, ability to use the function ReadGeneralLogData to read all attendance record in the
memory, then utilze the function GetGeneralLogData circularly to obtain the attendance record,
when function GetGeneralLogData returns to False , which means that finish reading the
attendance records, write in the records which has been readed to the database or demonstrate
these by other forms, then completes download the attendance records; The downloading
management record and this way are same.
firstly, use function SetuserInfo to read in the user relative record to the machine, like enrolled
number, password, name, then utilize the function
SetUserTmpStr/SetUerTmp/SetEnrollDataStr/SetEnrollData to reads in the fingerprint template
for this user; This method is suited for the user whose information has already gathered, and
saved the user information by such as the database, the user did not need to register again in off-
line routine, enhances the registration efficiency
in the current standalone product, like as A5 is able to provide downloading data with U flash
disk; a lot of customers care about the data format of U flash disk, because downloading data
format is more complex, therefore we have the tool software which ability to import U flash
disk data to the database, this database is open, the customer may read the downloading data
from this database., may refer to following description to know the U flash disk data.
User data structures
typedef struct _User_{
U16 PIN;
U8 Privilege;
char Password[5];
char Name[8];
U8 Card[5]; //ID No which used for store the relevant ID No
U8 Group; //the Group user belongs to
U16 TimeZones; //user can use time zone
U32 PIN2; //32Bit PIN2
}GCC_PACKED TUser, *PUser;
When use BIOKEY to capture the fingerprint, ability to obtain the fingerprint template while go
on enrolling user, in the OnEnroll event may obtain the current enroll fingerprint template, after
obtaining the fingerprint template, then reads in the template. Please to refer to 4.2 the process.
Use function ReadAllUserID to read all users ID number in the memory firstly, then use the
function GetAllUserIDcircularly to obtain user EnrollNumber, after use the function
GetUserInfo to be possible to obtain the user information. If you wan to obtain the fingerprint
template data, may use the function GetUserTmpStr to obtain the character string type of the
fingerprint template.
May regard the fingerprint machine as independent PC when connect with it. But must pay
attention, There must be much correspondence one by one between the machine IP address and
PC IP address which want to connect with, for some machines, like as F4 has two connect ways
that are the serial port and the network, in the different connection process you must set the
different option to the machine, revise the communication way to switch control unit to TCP/IP
or RS232/485, otherwise cannot connect. Some times the serial port are too busy to connect
with the machine, need to restart the program again to get connection; Some times because the
application software has connected with machine, and do not execute the manual disconnection,
may use the function DisableDeviceWithTimeOut to establish automatic trip time in the
machine. As a result of downloading, revision data and so on through serial port or network in
some connections, in order to maintain the data is uniform, and avoid the unknown wrong occur
with same principle as database, may use function EnableDevice to cause the machine to be
under the active status, after completing the communication , be sure to restores again.
After performing this function, there is possibility to set Password at empty, therefore use the
password will be failure to verify. Before performing SetUserInfo, need to use GetUserInfo to
obtain the user password, and transfer the password value to the parameter of SetUserInfo
Password, may maintain the password to be invariable when reads in the user information
7.8 on-line templates transform to the off-line template
May utilize the function FPTempConvertNew to transform the template which has been
captured into the standalone fingerprint template. How to obtain the BIOKEY capturing the
template, please refer to 4.4/3.1.9 explanations, this function ability transforms the binary
fingerprint template. Its parameter temp1 and temp2 all are the binary type. Also may utilize
function FPTempConvertNewStr to transform the character string form BIOKEY fingerprint
template into the off-line fingerprint template.
Sometimes, the user has installed the Time &Attendance management program, may utilize it to
connect the machine, but Demo is unable to connect the machine, its reason maybe is that only
copy the dynamic link libraries under directory of the Time &Attendance management program
when install program, it has not registered, before running the Demo program, be sure register it
in the system firstly, then use the Demo program to connect the machine
When the standalone fingerprint machine carries on communication , in order to keep the data is
uniform, and avoid the contingency occur, after connecting with fingerprint machine,
commonly use function EnableDevice to make the standalone fingerprint machine to be at the
active status (please to refer to function EnableDevice explanation), after is at the active status,
the standalone fingerprint machine keyboard, the fingerprint reader will stop the normal work,
namely temporarily make these components in useless the condition , after completing the
communication, may disconnect machine or use EnableDevice once more, ensure the
standalone machine to restore to the normal state
If you want to write the traditional Chinese in the standalone machine, have to revise the
ConvertBIG5 attribute as 1, like CZKEM1.ConvertBIG5 = 1, in order to avoid the
demonstration with the traditional Chinese is in disorder code. Because of traditional Chinese
fonts difference, after uploading name and some character, the disorder code will display on the
fingerprint machine, please revise the PC language option.
7.12 About theA5 K8 radio frequency card management
How to read in; obtain the user card number from A5, K8 T&A machine?
A5, oneself has the function to verify fingerprint; to upload user route is divided into two steps,
ordinary upload user information and the fingerprint template., there are some attribute in the
standalone SDK, which name is card number, when upload user (create) in, Take a supposition
now, an user has a development package which correspond to control czkem1, first establishes
cardnumber [0] = to have to find the user card number. you can read in the user card number
information with setuserinfo, certainly, K8 does not have the fingerprint to verify, after
performing setuserinfo, does not need to upload the fingerprint again.if you want to download
user card number, after obtains some user basic information (getuserinfo), you will find the
value of czkem1 cardnumber [0], then obtain the user card number.
Note: After the radio frequency card has been spurted by the code (denary), it is necessary to
the latter three bytes of the spurted code when write in the card number. For ordinary
development, like as in PB, writes like this with czkem1 (0), can make a mistake when execute
translation, therefore please wrote czkem1 [0], concrete please refer to in the standalone
development package the PB example.
Explained: the A5, K8 card number are defined as unsigned 4 bytes in the machine interior, the
interface attribute is Long, if cannot achieve unsigned 4 bytes in VB, therefore spreads to the
card number latter three bytes also to be possible to carry on the verification (if in not redundant
situation)
many times, connected machine have to pass through the firewall or the router and so on, the
machine utilize UDP Server to monitor 4,370 ports in the network connection, the
corresponding Socket of the development package also use the UDP protocol, and may assign
the port. Therefore must open the UDP protocol and 4,370 ports in the firewall option or the
router. If want to passes through Internet via the Port Redirection, able to visit router and ports +
IP of the visited some machine. In ordinary circumstances, if UDP and 4370 is opened, run
PING successfully, then ability to connects. Certainly, you must consider the network situation
when downloads the data. Some machines may support the SOAP connection, can utilize the
machine within Web Server and SOAP to visit machine.
The general size of the fingerprint template that gets from standalone enrolled is about 700
bytes (binary system). The fingerprint template which Biokey SDK captures is no more than
2,048 bytes. Therefore fingerprint template relative capacity is smaller, and very easy to save it
in the database, like Access, MySQL, MSSQL, Orical and so on
Large amount fingerprint generally refers to more than 1,500 fingerprints, in some equipment,
the biggest can rearch 8,000 fingerprints, when upload fingerprint, the buffer mode must be
used to upload fingerprint template. Both upload batch mode, in the mode, the upload speed is
greatly enhanced. How to use batch mode to upload fingerprint template, please refer to the
batch function
8.1 SSR_GetGeneralLogData
[Function]
SSR_GetGeneralLogData([in] LONG dwMachineNumber, [out] BSTR* dwEnrollNumber,
[out] LONG* dwVerifyMode, [out] LONG* dwInOutMode, [out] LONG* dwYear, [out]
LONG* dwMonth, [out] LONG* dwDay, [out] LONG* dwHour, [out] LONG* dwMinute,
[out] LONG* dwSecond, [out,retval] VARIANT_BOOL* pVal);
[Purpose]
Get attendance record, which purpose like as the function GetGeneralLogData, the
way to use this function is same as the function GetGeneralLogDataUser No. And name
can support the code within 24bit; it is need to special machine (SSR)
[Parameter]
dwEnrollNumber User number, Please refer to preceding explanation
dwVerifyMode:
0: Verify by FP
1: Verify by Card
2: Verify by Password
3: Verify by PIN
4: Verify by PIN and FP
5: Verify by FP and Password
6: Verify by FP and Card
7: Verify by Card and Password
8: Verify by FP and Card and Password
9: Verify by PIN and FP and Password
[Return Value]
Return True for success, otherwise False.
[Example]
Dim dwEnrollNumber As String
Dim dwVerifyMode As Long
Dim dwInOutMode As Long
Dim timeStr As String
Dim i As Long
Dim dwMachineNum, dwEMachineNum, dwYear, dwMonth, dwDay, dwHour, dwMinute,
dwSecond, dwWorkcode, dwReserved As Long
8.2 SSR_GetAllUserInfo
[Function]
SSR_GetAllUserInfo([in] LONG dwMachineNumber, [out] BSTR * dwEnrollNumber,
[out] BSTR * Name, [out] BSTR * Password, [out] LONG * Privilege, [out]
VARIANT_BOOL * Enabled, [out,retval] VARIANT_BOOL* pVal);
[Purpose]
Obtain the user information, every time this function execute a time, the user
information pointer which the point the memory move to the next record, when complate
to read all user information, returns to False..
[Return Value]
Return True for success, otherwise False.
[Example]
Dim dwEnrollNmber As String
Dim dwEnrollNumber1
Dim Name As String
Dim password As String
Dim privilege As Integer
Dim enabled As Boolean
Dim tmpData As String
Dim tmpLength As Integer
Dim sqlstr As String
Dim TmpData1
Dim k As Long
Dim tmplateBinary(1024) As Byte
Dim tempstr As String
Dim i As Integer
Dim test As Boolean
machineNum = 1
If CZKEM1.ReadAllUserID(MachineNumber) Then
If CZKEM1.ReadAllTemplate(1) Then
While CZKEM1.SSR_GetAllUserInfo MachineNumber), dwEnrollNmber, Name,
password, privilege, enabled)
dwEnrollNumber1 = dwEnrollNmber
For k = 0 To 9
//May get the fingerprint template through binary system.
test=CZKEM1.SSR_GetUserTmpStr(MachineNumber, dwEnrollNumber1, CLng(k),
tempstr, tmpLength)
If test Then
Debug.Print tempstr
End If
Next
Wend
End If
End If
8.3 SSR_GetUserInfo
[Function]
SSR_GetUserInfo([in] LONG dwMachineNumber, [in] BSTR dwEnrollNumber,
[out] BSTR* Name, [out] BSTR* Password, [out] LONG* Privilege, [out]
VARIANT_BOOL* Enabled, [out,retval] VARIANT_BOOL* pVal)
[Purpose]
According to the user serial number to get user news, the function is completely same
with the GetUserInfo, only different is the user serial number with the character string.
Only supports the SSR series product.
[Return Value]
Return True for success, otherwise False.
[Example]
Dim Name As String
Dim pas As String
Dim pri As Integer
Dim en As Boolean
CZKEM1.SSR_GetUserInfo 1, "12345678901234", Name, pas, pri, en
8.4 SSR_SetUserInfo
[Function]
SSR_SetUserInfo([in] LONG dwMachineNumber, [in] BSTR dwEnrollNumber, [in]
BSTR Name, [in] BSTR Password, [in] LONG Privilege, [in] VARIANT_BOOL Enabled,
[out,retval] VARIANT_BOOL* pVal)
[Purpose]
Upload the user information, the function is completely same with the function
SetUserInfo, the different is the user serial number with the character string type. Only
supports the SSR series product.
[Return Value]
Return True for success, otherwise False.
[Example]
Dim Name
Dim pas
Dim pri
Dim en
pas = ""
pri = 0
en = True
Name = "KKKKAAAADDDDDDDDEEEEIIII"
CZKEM1.SSR_SetUserInfo 1, "12345678901234", Name, pas, pri, en
8.5 SSR_GetUserTmpStr
[Function]
SSR_GetUserTmpStr([in] LONG dwMachineNumber, [in] BSTR dwEnrollNumber, [in]
LONG dwFingerIndex, [out] BSTR* TmpData, [out] LONG* TmpLength, [out,retval]
VARIANT_BOOL* pVal);
[Purpose]
Obtains the user fingerprint template by the character string, which is same with the
GetUserTmpStr function. Please refer to the function GetUserTmpStr.
[Return Value]
Return True for success, otherwise False.
[Example]
Please refer to the example in the function GetAllUserInfo.
8.6 SSR_DeleteEnrollData
[Function]
SSR_DeleteEnrollData([in] LONG dwMachineNumber, [in] BSTR dwEnrollNumber, [in]
LONG dwBackupNumber, [out,retval] VARIANT_BOOL* pVal)
[Purpose]
Delete the user fingerprint, the password, user itself and so on. Which function is
same with the function DeleteEnrollData, compare it with the function DeleteEnrollData,
we get that the parameter only is difference: This function user serial number is created by
the character string, other parameters are same. Below does not make the description.
Execute successfully, return to True, otherwise return to False.
[Example]
Delete the user first fingerprint template whose serial number is 12345678901234. PVal is
the parameter to the returning function to, be unable see it in development.
CZKEM1.SSR_DelUserTmp 1, "12345678901234", 0
8.7 SSR_GetUserTmp
[Function]
SSR_GetUserTmp([in] LONG dwMachineNumber, [in] BSTR dwEnrollNumber, [in]
LONG dwFingerIndex, [out] BYTE* TmpData, [out] LONG* TmpLength, [out,retval]
VARIANT_BOOL* pVal)
[Purpose]
Obtain the user fingerprint template by the binary system. the Parameter
dwEnrollNumber is the user serial number, selected the character string method, at present
only supports the SSR series products. The function is same with the function
GetUserTmp, may refer to the GetUserTmp function. For the example ,please refer to the
SSR_GetUserTmpStr functional dependence code.
8.8 SSR_DelUserTmp
[Function]
SSR_DelUserTmp([in] LONG dwMachineNumber, [in] BSTR dwEnrollNumber, [in]
LONG dwFingerIndex, [out,retval] VARIANT_BOOL* pVal)
[Purpose]
Delete the user some fingerprint template, which purpose is same with the
DeluserTmp function. DwEnrollNumber is the user serial number created by the character
string. dwFingerIndex is the fingerprint index
[Example]
CZKEM1.SSR_DelUserTmp 1, "12345678901234", 0
8.9 SSR_SetUserTmpStr
[Function]
SSR_SetUserTmpStr([in] LONG dwMachineNumber, [in] BSTR dwEnrollNumber, [in]
LONG dwFingerIndex, [in] BSTR TmpData, [out,retval] VARIANT_BOOL* pVal)
[Purpose]
Upload the fingerprint template by character string.
[Parameter]
dwEnrollNumberUsers serial number. There are many descriptions to other
parameters before explanation, please refer to it.
TmpData Character string type fingerprint template
[Return Value]
Return True for success, otherwise False.
[Example]
Dim dwEnrollNumber
Dim tempstr
Dim Name
Dim pas
Dim pri
Dim en
tempstr=
"ocojg5gvYQENNjFnwQ02rlIBDaCwTcENoClCgSoqK0SBFCk1VIFPlDdUgVyNyF6BB
dqaOIEUZx0dwQ1VmUgBDRcuc0EJKsZ4QQrPvUiBEpFBR4ELgLY0gRU8MTqBDzK
uMIEKQSgyQQ1BJCoBCk4cKoEPWSBLwRaIIjvBIlOnPcEzQsMwwQ7SyztBCwLQdU
EH2aUTwQfKTl1BBWydE8ENVtJdAQbjyU6BDnfAHAEHxQsqQQx0JqRJEJnEjRUL0
K8OERXAwwGkmZzZmrrAwnKly6rOm6ubwMJupc3Lzquqmh7AwWmmqs3t+8qZmsD
BZaG6vAIKEqLMmJkfwMFfocqtdgkVouqYl8DBWKG5vXAKGaH5iCLAwVShmJxmC
xyh6qglwMFPoZeITiWiTKqHwMFMoZZVOy6iC6poKMDBSqGGQjOjE82lVsDBSElIR
DswKSQrNqGjRSrAwUhJSEU7LiQeJkKiYCZXwUhKSkc9LSAYCFFIP6ElVsJMTUtGL
RYOcl1RoQNFOcJQUVJVbAkGb2RboRN3wMJUVVhfbQEDb2ahNGdZwMNaX2dwdn
ZtohZmeMDEZKTetzN4Z2HAyWyhR4dl4A=="
pas = ""
pri = 0
en = True
machineNum = 1
Name = "TEST"
CZKEM1.SSR_SetUserInfo 1, "12345678901234", Name, pas, pri, en
CZKEM1.SSR_SetUserTmpStr CLng(machineNum), "12345678901234", 0, tempstr
8.10 SSR_SetUserTmp
[Function]
SSR_SetUserTmp([in] LONG dwMachineNumber, [in] BSTR dwEnrollNumber, [in]
LONG dwFingerIndex, [in] BYTE* TmpData, [out,retval] VARIANT_BOOL* pVal)
[Purpose]
Upload the fingerprint template by the binary system. Which purpose is quite same
with the SetUserTmp function, only user serial number of this function is the character
string type. Certainly, the function with RSS header needs to be support by the relative
machine (only to be able to use in the SSR similar product). For example, please refers to
the SetUesrTmp relation code or refers to the SSR_SetUserTmpStr example code.
[Parameter]
dwEnrollNumberUser serial number
dwFingerIndexFingerprint Index.
TmpDataUser fingerprint template.
8.11 SetWorkCode
[Function]
SetWorkCode ([in] LONG WorkCodeID, [in] LONG AWorkCode, [out,retval]
VARIANT_BOOL* pVal)
[Purpose]
Upload WorkCode. at present this function only supports some the machine which has
specially custom-made the WorkCode function. With the ordinary WorkCode function the
machine dose not support this API.
[Parameter]
WorkCodeIDWorkCode serial number, support unsigned 2 bytes, namely the
maxmuin is 65,535.
AworkCodeWorkCode value, ability support unsigned 4 bytes.
pVal: the function return value, unable to see it in development.
[Example]
Dim aflag As Boolean
Dim AWorKCode
Dim AworkCodeValue
AWorkCode=1
AworkCodeValue=1
aflag = CZKEM1.SetWorkCode(AWorKCode, AworkCodeValue)
CZKEM1.RefreshData 1
8.12 GetWorkCode
[Function]
GetWorkCode([in] LONG WorkCodeID, [out] LONG* AWorkCode, [out,retval]
VARIANT_BOOL* pVal)
[Purpose]
Obtain the WorkCode value, according to the WorkCode serial number. at present this
function only supports some the machine which specially has custom-made the WorkCode
function. the ordinary WorkCode function machine dose not support this API.
[Parameter]
WorkCodeIDWorkCode serial number
AworkCode: WorkCode value
[Example]
Dim AWorkCode
Dim aflag As Boolean
Dim AworkCodeID
AworkCodeID=1
aflag = CZKEM1.GetWorkCode(AworkCodeID, AWorkCode)
CZKEM1.RefreshData 1
8.13 DeleteWorkCode
[Function]
DeleteWorkCode([in] LONG WorkCodeID, [out,retval] VARIANT_BOOL* pVal)
[Purpose]
According to the WorkCode serial number to deletes some WorkCode, at present this
function only supports some the machine which specially has custom-made the WorkCode
function. the ordinary WorkCode function machine dose not t support this API.
[Parameter]
WorkCodeID:WorkCode serial
pValthe function return value
[Example]
Dim aflag As Boolean
Dim AworkCodeID
AworkCodeID=1
aflag = CZKEM1.DeleteWorkCode(AWorkCodeID)
CZKEM1.RefreshData 1
8.14 ClearWorkCode
[Function]
ClearWorkCode([out,retval] VARIANT_BOOL* pVal)
[Purpose]
Clear the WorkCode which have been uploaded, certainly, when user checking
attendance inputs the WorkCode to keep up, may continue to download.
[Example]
Dim aflag As Boolean
aflag = CZKEM1.ClearWorkCode()
CZKEM1.RefreshData 1
8.15 IsTFTMachine
[Function]
IsTFTMachine (LONG dwMachineNumber)
[Purpose ]
Determine whether TFT screen fingerprint machine or not
[Parameters ]
dwMachineNumber
No. of fingerprint machine
[Return]
True :TFT screen fingerprint machine, otherwise not.
[Example]
8.16 SSR_EnableUser
[Function]
SSR_EnableUser (LONG dwMachineNumber, BSTR dwEnrollNumber,
VARIANT_BOOL bFlag)
[Purpose ]
Users set up option to primit user or prohibit users. This function only supports TFT screen
fingerprint machines.
[Parameters ]
dwMachineNumber
No. of fingerprint machine
dwEnrollNumber
User No.
bFlag
True: primit users, False: prohibit users.
[Return]
True: Setting up successful, otherwise not.
[Example]
8.17 SSR_SetUserSMS
[Function]
SSR_SetUserSMS (LONG dwMachineNumber, BSTR dwEnrollNumber, LONG SMSID)
[Purpose ]
This function only supports TFT screen fingerprint machines. Assign a personal SMS to
the dedicated user. Before assigning personal SMS to correct user, , make sure that you
have created a short message by using SetSMS method.
[Parameters ]
dwMachineNumber
No. of fingerprint machine
dwEnrollNumber
User ID number
SMSID
SMS ID number
[Return]
True: Setting up successful, otherwise not.
[Example]
MachineNumber = 1;
SmsID = 1;
Tag = 253;
SmsContent = "This is a personal message";
StartTime = "2007-09-01 14:25:00"
EnrollNumber = 5;
ValidMinutes = 60; / / Min
Czkem.SetSMS (MachineNumber, SmsID, Tag, ValidMinutes, StartTime, SmsContent);
Czkem.SSR_SetUserSMS (MachineNumber, EnrollNumber, SmsID);
8.18 SSR_DeleteUserSMS
[Function]
SSR_DeleteUserSMS (LONG dwMachineNumber, BSTR dwEnrollNumber, LONG
SMSID)
[Purpose ]
Users delete the corresponding short message. This function only supports TFT screen
fingerprint machines
[Parameters ]
dwMachineNumber
No. of Fingerprint machine,
dwEnrollNumber
User No.
SMSID
The short message number.
[Return]
Returns True success, or else return to False.
[Example]
8.19 SSR_SetHoliday
[Function]
SSR_SetHoliday (LONG dwMachineNumber, LONG HolidayID, LONG BeginMonth,
LONG BeginDay, LONG EndMonth, LONG EndDay, LONG TimeZoneID)
[Purpose ]
To set up Holidays in the fingerprint machine , the function only supports TFTscreen
fingerprint machines. The holiday must be set 24 hours
[Parameters ]
dwMachineNumber
No. of Fingerprint machine,
HolidayID
No. of holidays, the value of the scope is 1-24.
BeginMonth
the month of beginning of the Holidays
BeginDay
The day of beginning of the holidays
EndMonth
The month of end of the Holidays
EndDay
The day of end of the holidays
TimeZoneID
Time Zone No. the value of the scope is 1-50.
[Return]
Returns True success, or else return to False.
[Example]
8.20 SSR_GetHoliday
[Function]
SSR_GetHoliday (LONG dwMachineNumber, LONG HolidayID, LONG * BeginMonth,
LONG * BeginDay, LONG * EndMonth, LONG * EndDay, LONG * TimeZoneID)
[Purpose ]
return time , whose holiday has been set up, to Fingerprint machine, the function only
supports TFT screen fingerprint machines.
[Parameters ]
dwMachineNumber
No. of Fingerprint machine,
HolidayID
No. holidays, the value of the scope is 1-24.
BeginMonth
The month of beginning of the Holidays
BeginDay
The day of beginning of the holidays
EndMonth
The month of end of the holidays Holidays
EndDay
The day of end of the holidays
TimeZoneID
No. of Time Zone .
[Return]
Returns True success, or else return to False.
[Example]
8.21 SSR_SetGroupTZ
[Function]
SSR_SetGroupTZ (LONG dwMachineNumber, LONG GroupNo, LONG Tz1, LONG Tz2,
LONG Tz3, LONG VaildHoliday, LONG VerifyStyle)
[Purpose ]
Set up the group Time Zone of the fingerprint machine , only supports TFT screen
fingerprint machines.
[Parameters ]
dwMachineNumber
No. of Fingerprint machine,
GroupNo
Group number, the value of the scope is 1-99.
Tz1
Time Zone 1, the value of the scope is 1-50.
Tz2
Time Zone 2, the value of the scope is 1-50.
Tz3
Time Zone 3, the value of the scope is 1-50.
VaildHoliday
whether holidays is validity or not . 1: valid, 0 invalid.
VerifyStyle
Fingerprint machine verification methods. Its value is: 0 (FP / PW / RF), 1 (FP), 2 (PIN), 3
(PW), 4 (RF), 5 (FP & RF), 6 (FP / PW), 7 (FP / RF ), 8 (PW / RF), 9 (PIN & FP), 10 (FP
& PW), 11 (PW & RF), 12 (FP & PW & RF), 13 (PIN & FP & PW), 14 ( FP & RF / PIN)
[Return]
Returns True success, or else return to False.
[Example]
8.22 SSR_GetGroupTZ
[Function]
SSR_GetHoliday (LONG dwMachineNumber, LONG GroupNo, LONG * Tz1, LONG *
Tz2, LONG * Tz3, LONG * VaildHoliday, LONG * VerifyStyle)
[Purpose ]
Return the group Time Zone of the fingerprint machine , the function only supports TFT
screen fingerprint machine series.
[Parameters ]
dwMachineNumber
No. of the fingerprint machine,
GroupNo
Group number, the value of the scope is 1-99.
Tz1
Time Zone 1, the value of the scope is 1-50.
Tz2
Time Zone 2, the value of the scope is 1-50.
Tz3
Time Zone 3, the value of the scope is 1-50.
VaildHoliday
The validity of holidays. 1: valid, 0 invalid.
VerifyStyle
Fingerprint machine verification methods. Its value is: 0 (FP / PW / RF), 1 (FP), 2 (PIN), 3
(PW), 4 (RF), 5 (FP & RF), 6 (FP / PW), 7 (FP / RF ), 8 (PW / RF), 9 (PIN & FP), 10 (FP
& PW), 11 (PW & RF), 12 (FP & PW & RF), 13 (PIN & FP & PW), 14 ( FP & RF / PIN).
[Return]
Returns True success, or else return to False.
[Example]
8.23 SSR_SetUnLockGroup
[Function]
SSR_SetUnLockGroup (LONG dwMachineNumber, LONG CombNo, LONG Group1,
LONG Group2, LONG Group3, LONG Group4, LONG Group5)
[Purpose ]
Set up unlock combination of the fingerprint machine, the function only supports color
screen fingerprint machines.
[Parameters ]
dwMachineNumber
No. of Fingerprint machine,
CombNo
Unlock combination of numbers, the value of the scope is 1-10
Group1
Group No. 1, the value of the scope is 1-99.
Group2
Group No. 2, the value of the scope is 1-99.
Group3
Unit No. 3, the value of the scope is 1-99.
Group4
Unit No. 4, the value of the scope is 1-99.
Group5
Unit No. 5, the value of the range is 1-99.
[Return]
Returns True success, or else return to False.
[Example]
/ / Set unlock must be composed of 1 of their users and their Group 2 users by fingerprint
verification has passed since User can not open the door.
DwMachineNumber = 1;
CombNo = 1;
Group1 = 1;
Group2 = 2;
Group3 = 0;
Group4 = 0;
Group5 = 0;
Czkem.SSR_SetUnLockGroup (dwMachineNumber, CombNo, Group1, Group2, Group3,
Group4, Group5)
8.24 SSR_GetUnLockGroup
[Function]
SSR_GetUnLockGroup (LONG dwMachineNumber, LONG CombNo, LONG * Group1,
LONG * Group2, LONG * Group3, LONG * Group4, LONG * Group5)
[Purpose ]
Return unlock combination of the fingerprint machine , This function only supports TFT
screen fingerprint machine series.
[Parameters ]
DwMachineNumber
No. of Fingerprint machine,
CombNo
Unlock combination of numbers, the value of the scope is 1-10
Group1
Group No. 1, the value of the scope is 1-99.
Group2
Group No. 2, the value of the scope is 1-99.
Group3
Unit No. 3, the value of the scope is 1-99.
Group4
Unit No. 4, the value of the scope is 1-99.
Group5
Unit No. 5, the value of the range is 1-99.
[Return]
Returns True success, or else return to False.
[Example]
8.25 SetDaylight
[Function]
SetDaylight (LONG dwMachineNumber, LONG Support, BSTR BeginTime, BSTR
EndTime)
[Purpose ]
Set up the beginning and ending of the daylight saving time
[Parameters ]
dwMachineNumber
No.of Fingerprint machine,
Support
Set up whether the daylight saveing time is valid or not;1 valid, 0 invalid.
BeginTime
Begining time of daylight saving time. Time format: mm-dd hh: ss. For example :06-01
04:00
EndTime
Ending time of daylight saving time. Time format: mm-dd hh: ss. For example :09-01
04:00
[Return]
Returns True success, or else return to False.
[Example]
8.26 GetDaylight
[Function]
GetDaylight (LONG dwMachineNumber, LONG * Support, BSTR * BeginTime, BSTR *
EndTim)
[Purpose ]
To return the beginning and ending time of the daylight saving time.
[Parameters ]
dwMachineNumber
No. of Fingerprint machine,
Support
whether Daylight saving time is valid ,1 valid, 0 invalid.
BeginTime
Begining time of daylight saving time; Time format: mm-dd hh: ss.
EndTime
Ending time of daylight saving time; Time format: mm-dd hh: ss.
[Return]
Returns True success, or else return to False.
[Example]
8.27 SetHoliday
[Function]
SetHoliday(LONG dwMachineNumber, BSTR Holiday);
[Purpose ]
To set public holidays of this year to devices, and this function is only supported by black
and white screen devices.
The holiday must be in 24 hours mode
[Parameters ]
dwMachineNumber
Machine number.
Holiday
Holiday string of this year.
Format:mmddmmdd. the first mmdd is starting date,and the second mmddis ending
date. The max number of holiday period is 24.
Example:0401040206250625 (May 1st May 2nd , and July 25th )
Note, please be careful:
1) January is 00, February is 01, , December is 11.
2) If the public holiday period is one day, the starting date and ending date should be the same.
[Return]
Returns True success, else return False.
[Example]
8.28 GetHoliday
[Function]
GetHoliday(LONG dwMachineNumber, BSTR* Holiday)
[Purpose ]
Return the public holiday string of this year. This function is only supported by black and
white screen devices.
[Parameters ]
dwMachineNumber
Machine number.
Holiday
Holiday string of this year.
Format:mmddmmdd. the first mmdd is starting date,and the second mmddis ending
date. The max number of holiday period is 24.
Example:0401040206250625 (5.1-5.2, 7.25)
Note, please be careful:
1) January is 00, February is 01, , December is 11.
2) If the public holiday period is one day, the starting date and ending date should be the same.
[Return]
Returns True success, else return False.
[Example]
9. Extended Function (Spain)
9.1 SSR_SetWorkCode_Spa
[Function]
VARIANT_BOOL SSR_SetWorkCode_Spa ([in] LONG AWorkCode, [in] BSTR
Name)
[Purpose]
Only supports SSR series product. Upload WorkCode to TFT (colored screen)
devices. This function is supported by those devices with workcode features.
[Parameter]
AWorkCodeWorkCode serial number, maxium supports 4 bytes.
NameWorkCode name, maxium supports 24 bytes.
[Return]
Returns True if success, else return False.
[Example]
Dim aflag As Boolean
Dim AWorkCode
Dim AworkCodeName
AWorkCode=1
AworkCodeName ="A"
aflag = CZKEM1. SSR_SetWorkCode_Spa (AWorkCode, AworkCodeName)
CZKEM1.RefreshData 1
9.2 SSR_GetWorkCode_Spa
[Function]
VARIANT_BOOL SSR_GetWorkCode_Spa ([in] LONG AWorkCode, [out] BSTR*
Name)
[Purpose]
Only supports SSR series product. Obtain the WorkCode name from TFT (colored
screen) devices by WorkCode serial number. This function is supported by those
devices with workcode features.
[Parameter]
AWorkCodeWorkCode serial number, maxium 4 bytes.
Name: WorkCode name, maxium 24 bytes.
[Return]
Returns True if success, else return False.
[Example]
Dim aflag As Boolean
Dim AWorkCodeID
Dim AworkName
AworkCodeID=1
aflag = CZKEM1. SSR_GetWorkCode_Spa (AworkCodeID, AworkName)
CZKEM1.RefreshData 1
9.3 SSR_DeleteWorkCode_Spa
[Function]
VARIANT_BOOL SSR_DeleteWorkCode_Spa ([in] LONG AWorkCode)
[Purpose]
Only supports SSR series product. To delete the Workcode from TFT (colored screen)
devices according to WorkCode serial number. This function is supported by those
devices with workcode features.
[Parameter]
AWorkCode: WorkCode serial number, maxium 4 bytes.
[Return]
Returns True if success, else return False.
[Example]
Dim aflag As Boolean
Dim AWorkCodeID
AworkCodeID=1
aflag = CZKEM1.SSR_DeleteWorkCode_Spa (AWorkCodeID)
CZKEM1.RefreshData 1
9.4 SSR_ClearWorkCode_Spa
[Function]
VARIANT_BOOL SSR_ClearWorkCode_Spa ( )
[Purpose]
Only supports SSR series product. Clear all WorkCodes in the TFT (colored screen)
devices.
[Return]
Returns True if success, else return False.
[Example]
Dim aflag As Boolean
aflag = CZKEM1. SSR_ClearWorkCode_Spa ()
CZKEM1.RefreshData 1
9.5 SetUserHoliday_Spa
[Function]
VARIANT_BOOL SetUserHoliday_Spa ([in] LONG dwMachineNumber, [in] LONG
UserNo, [in] BSTR StartDate, [in] BSTR FinishDate)
[Purpose]
Only support black and white screen devices with user holiday features. To set a
period of personal holiday for one user by providing starting date and ending date. For
each user, maxium one period of users personal holiday is allowed.
[Parameters]
dwMachineNumber
No. of machine.
UserNo
The Users ID number
StartDate
The starting date of the personal holiday period. Date format is: yyyy-mm-dd.
FinishDate
The ending date of the personal holiday period. Date format is: yyyy-mm-dd.
[Return]
Returns True if success, else return False.
[Example]
9.6 GetUserHoliday_Spa
[Function]
VARIANT_BOOL GetUserHoliday_Spa ([in] LONG dwMachineNumber, [in] LONG
UserNo, [in,out] BSTR* StartDate, [in,out] BSTR* FinishDate)
[Purpose]
Only support black and white screen devices with user holiday features, return the
beginning date and ending date of a users personal holiday by user ID.
[Parameters]
dwMachineNumber
No. of machine,
UserNo
Users ID number.
StartDate
The starting date and time of the personal holiday period.
Date format is: yyyy-mm-dd hh:mm:ss.
FinishDate
The ending date and time of the personal holiday period.
Date format is: yyyy-mm-dd hh:mm:ss.
[Return]
Returns True if success, else return False.
[Example]
9.7 DeleteUserHoliday_Spa
[Function]
VARIANT_BOOL DeleteUserHoliday_Spa ([in] LONG dwMachineNumber, [in]
LONG UserNo)
[Purpose]
Only support black and white screen devices with user holiday features. To delete the
period of personal holidays for one user.
[Parameter]
dwMachineNumber: The number of machine, maxium supports 4 bytes.
UserNo: Users ID number, maxium supports 4 bytes.
[Return]
Returns True if success, else return False.
[Example]
9.8 SetUserHolidayEx_Spa
[Function]
VARIANT_BOOL SetUserHolidayEx_Spa ([in] LONG dwMachineNumber, [in]
LONG UserNo, [in] BSTR StartDate, [in] BSTR FinishDate, [in] LONG
HolidayIndex)
[Purpose]
Only support black and white screen devices with user holiday features. To set
mutilple periods of personal holidays for one user. Maxium 24 periods of users
personal holiday is allowed for each user. Different personal holiday period is indicted
by HolidayIndex (0-23).
[Parameters]
dwMachineNumber
No. of machine.
UserNo
Users ID number.
StartDate
The starting date and time of one personal holiday period.
Date format is: yyyy-mm-dd hh:mm:ss.
FinishDate
The ending date and time of one personal holiday period.
Date format is: yyyy-mm-dd hh:mm:ss.
HolidayIndex
The index of a personal holiday period. There are maxium 24 personal holiday indexes
for each user. i.e. HolidayIndex can be any number between 0 to 23.
[Return]
Returns True if success, else return False.
[Example]
9.9 ReadUserHoliday_Spa
[Function]
VARIANT_BOOL ReadUserHoliday_Spa ([in] LONG dwMachineNumber, [in]
LONG UserNo)
[Purpose]
Only support black and white screen devices with user holiday features. To judge
whether certain users personal holiday period has been set or not before.
[Parameters]
dwMachineNumber
No. of machine,
UserNo
Users ID number.
[Return]
Returns True if success, else return False.
[Example]
9.10 DeleteUserHolidayEx_Spa
[Function]
VARIANT_BOOL DeleteUserHolidayEx_Spa ([in] LONG dwMachineNumber, [in]
LONG UserNo, [in] LONG HolidayIndex)
[Purpose]
Only support black and white screen devices with user holiday features. To delete one
period of holiday according to holiday index, out of maxium 24 holiday periods of
one user.
[Parameter]
dwMachineNumber
The number of machine, maxium supports 4 bytes.
UserNo
Users ID number, maxium 4 bytes.
HolidayIndex
The index of a personal holiday period. There are maxium 24 personal holiday
indexes for each user. i.e. HolidayIndex can be any number between 0 to 23.
[Return]
Returns True if success, else return False.
[Example]
9.11 ClearUserHoliday_Spa
[Function]
VARIANT_BOOL ClearUserHoliday_Spa ([in] LONG dwMachineNumber)
[Purpose]
Only support black and white screen devices with user holiday features. Clear all
users personal holidays.
[Parameter]
dwMachineNumberMachine number.
[Return]
Returns True if success, else return False.
[Example]
Dim aflag As Boolean
aflag = CZKEM1.ClearUserHoliday_Spa ()
CZKEM1.RefreshData 1
9.12 SetWorkCodeEx_Spa
[Function]
VARIANT_BOOL SetWorkCodeEx_Spa ([in] LONG WorkCodeID, [in] LONG
AWorkCode, [in] LONG FlagValue, [in] BSTR WorkDetail)
[Purpose]
Only support black and white screen devices with extended workcode features.
Upload Extended Workcode (e.g. Workcode descriptions, and Workcode flags to
indict whether open the door or not.) to Zem (black and white screen) devices. This
function is only supported by Zem devices with the last firmware.
[Parameter]
WorkCodeIDWorkCode serial number, maxium supports unsigned 2 bytes.
AWorkCodeWorkCode value, maxium supports unsigned 4 bytes.
FlagValue
WorkCode flag, 1 byte(8 bits). Each bit is used as a flag to represent specific
meanings. Currently 2 bits have been defined so far. Others are reserved for
future usage (RFU).
bit 0: To open to door. (0: Not open the door, 1: open the door)
bit 1:To count as working time (0: Not count as working time,
1: count as working time)
bit 2: RFU
bit 3: RFU
bit 4: RFU
bit 5: RFU
bit 6: RFU
bit 7: RFU
WorkDetailWorkCode detailed descriptions, maxium supports 12 bytes string.
[Return]
Returns True if success, else return False.
[Example]
Dim aflag As Boolean
Dim WorkCodeID
Dim AWorkCode
Dim FlagValue
Dim WorkDetail
WorkCodeID=1
AWorkCode=1
FlagValue=3 // 3, in binary is 0000 0011, means bit0=1, bit1=1.
WorkDetail ="ABC"
aflag = CZKEM1. SetWorkCodeEx_Spa (WorkCodeID, AWorkCode, FlagValue,
WorkDetail)
CZKEM1.RefreshData 1
9.13 GetWorkCodeEx_Spa
[Function]
VARIANT_BOOL GetWorkCodeEx_Spa ([in] LONG WorkCodeID, [in,out] LONG*
AWorkCode, [in,out] LONG* FlagValue, [out] BSTR* WorkDetail)
[Purpose]
Only support black and white screen devices with extended workcode features.
Obtain Extended Workcode (Workcode Name, Workcode descriptions, and Workcode
flags to indict whether open the door or not, etc.) from Zem (black and white screen)
devices. This function is only supported by Zem devices with the last firmware.
[Parameter]
WorkCodeIDWorkCode serial number, maxium supports unsigned 2 bytes.
AWorkCodeWorkCode value, maxium supports unsigned 4 bytes.
FlagValue
WorkCode flag, 1 byte (8 bits). Each bit is used as a flag to represent specific
meanings. Currently 2 bits have been defined so far. Others are reserved for
future usage (RFU).
bit 0: To open to door. (0: Not open the door, 1: open the door)
bit 1:To count as working time (0: Not count as working time,
1: count as working time)
bit 2: RFU
bit 3: RFU
bit 4: RFU
bit 5: RFU
bit 6: RFU
bit 7: RFU
WorkDetailWorkCode detailed descriptions, maxium supports 12 bytes string.
[Return]
Returns True if success, else return False.
[Example]
Dim aflag As Boolean
Dim WorkCodeID
Dim AWorkCode
Dim FlagValue
Dim WorkDetail
WorkCodeID=1
AWorkCode=0
FlagValue=0
WorkDetail =" "
aflag = CZKEM1. GetWorkCodeEx_Spa (WorkCodeID, AWorkCode, FlagValue,
WorkDetail)
CZKEM1.RefreshData 1
9.14 SetRelayPrivilege_Spa
[Function]
VARIANT_BOOL SetRelayPrivilege_Spa ([in] LONG dwMachineNumber, [in]
LONG dwEnrollNumber, [in] LONG EnableRelay1, [in] LONG EnableRelay2)
[Purpose]
Only support black and white screen devices with customized relay features (In order
to support customized relay features, the MCU of the device should be updated.). In
case that two relays are both used to open the doors (e.g. relay1 for door1, and relay2
for door2), the function will set the privilege of one user to indict which door should
be open, after this user has been correctly indentificated. Because in most cases, only
one door should be open after one users authentification, relay1 and relay2 should
not be enabled together at the same time for one user.
[Parameter]
dwMachineNumberMachine number.
dwEnrollNumberUsers ID number.
EnableRelay1EnableRelay1=1 means relay1 is enabled.
EnableRelay2EnableRelay2=1 means relay2 is enabled.
[Return]
Returns True if success, else return False.
[Example]
Dim aflag As Boolean
Dim MachineNo
Dim UserID
Dim Relay1
Dim Relay2
MachineNo=1
UserID =1
Relay1=1 //Open door 1
Relay2=0
aflag = CZKEM1. SetRelayPrivilege_Spa (MachineNo, UserID, Relay1, Relay2)
CZKEM1.RefreshData 1
9.15 GetRelayPrivilege_Spa
[Function]
VARIANT_BOOL GetRelayPrivilege_Spa ([in] LONG dwMachineNumber, [in]
LONG dwEnrollNumber, [in] LONG EnableRelay1, [in] LONG EnableRelay2)
[Purpose]
Only support black and white screen devices with customized relay features (In order
to support customized relay features, the MCU of the device should be updated.). In
case that two relays are both used to open the doors (e.g. relay1 for door1, and relay2
for door2), the function will get the uses privilege to know which door will be open,
after this user being correctly indentificated.
[Parameter]
dwMachineNumberMachine number.
dwEnrollNumberUsers ID number.
EnableRelay1EnableRelay1=1 means relay1 is enabled.
EnableRelay2EnableRelay2=1 means relay2 is enabled.
[Return]
Returns True if success, else return False.
[Example]
Dim aflag As Boolean
Dim MachineNo
Dim UserID
Dim Relay1
Dim Relay2
MachineNo=1
UserID =1
Relay1=0
Relay2=0
aflag = CZKEM1. GetRelayPrivilege_Spa (MachineNo, UserID, Relay1, Relay2)
CZKEM1.RefreshData 1
9.16 DelRelayPrivilege_Spa
[Function]
VARIANT_BOOL DelRelayPrivilege_Spa ([in] LONG dwMachineNumber, [in]
LONG dwEnrollNumber)
[Purpose]
Only support black and white screen devices with customized relay features (In order
to support customized relay features, the MCU of the device should be updated.). In
case that two relays are both used to open the doors (e.g. relay1 for door1, and relay2
for door2), the function deletes the users privilege to open any doors when both
relays are used to control doors.
[Parameter]
dwMachineNumberMachine number.
dwEnrollNumberUsers ID number.
[Return]
Returns True if success, else return False.
[Example]
Dim aflag As Boolean
Dim MachineNo
Dim UserID
MachineNo=1
UserID =1
aflag = CZKEM1. DelRelayPrivilege_Spa (MachineNo, UserID)
CZKEM1.RefreshData 1
9.17 SSR_StartEnrollEx_Spa
[Function]
VARIANT_BOOL SSR_StartEnrollEx_Spa ([in] BSTR UserID, [in] LONG
FingerID)
[Purpose]
Only supports SSR series product. Start to enroll a new user for TFT (colored screen)
devices.
[Parameter]
UserID: User enrolled number
FingerID: Fingerprint index
[Return]
Returns True if success, else return False.
[Example]
Dim userID As Integer
Dim fingerID As Integer
userID = 1
fingerID = 0
CZKEM1. SSR_StartEnrollEx_Spa (userID, fingerID)
9.18 ClearAccessConfig_Spa
[Function]
VARIANT_BOOL ClearAccessConfig_Spa ([in] LONG dwMachineNumber)
[Purpose]
Only support black and white screen devices with Clear Access Config features. Clear
all personal settings about Time Zone and User Group for Access Control.
[Parameter]
dwMachineNumberMachine number.
[Return]
Returns True if success, else return False.
[Example]
Dim aflag As Boolean
aflag = CZKEM1. ClearAccessConfig_Spa ()
CZKEM1.RefreshData 1
9.19 GetNightFlag_Spa
[Function]
VARIANT_BOOL GetNightFlag_Spa([in] LONG dwMachineNumber, [in] LONG
dwEnrollNumber, [in,out] LONG* NightFlag);
[Purpose]
Only support black and white screen devices with check in/check out attention voice
features, by default, all users are not allowed to work at night(after 0:00 oclock), if
no settings are made to the machine from SDK.
If NightFlag = TRUE, means this employee is allowed to working at night. (The
employee will be checkout automatically by machine more than max allowed working
period, in case forget)
If NightFlag = FALSE, means this employee can only working at day time. (The
employee will be checkout automatically by machine before 0:00 oclock, in case
forget.)
[Parameter]
dwMachineNumberMachine number.
dwEnrollNumberUsers ID number.
NightFlagNightFlag = 1 means working at night (after 0:00 oclock) is allowed.
[Return]
Returns True if success, else return False.
[Example]
Dim aflag As Boolean
Dim MachineNo
Dim UserID
Dim NightFlag
MachineNo=1
UserID =1
NightFlag =0
aflag = CZKEM1. GetNightFlag_Spa (MachineNo, UserID, NightFlag)
CZKEM1.RefreshData 1
9.20 SetNightFlag_Spa
[Function]
VARIANT_BOOL GeSetNightFlag_Spa([in] LONG dwMachineNumber, [in] LONG
dwEnrollNumber, [in] LONG NightFlag);
[Purpose]
Only support black and white screen devices with check in/check out attention voice
features, by default, all users are not allowed to work at night(after 0:00 oclock), if
no settings are made to the machine from SDK.
If NightFlag = TRUE, means this employee is allowed to working at night. (The
employee will be checkout automatically by machine more than max allowed working
period, in case forget)
If NightFlag = FALSE, means this employee can only working at day time. (The
employee will be checkout automatically by machine before 0:00 oclock, in case
forget.)
[Parameter]
dwMachineNumberMachine number.
dwEnrollNumberUsers ID number.
NightFlagNightFlag = 1 means working at night (after 0:00 oclock) is allowed.
[Return]
Returns True if success, else return False.
[Example]
Dim aflag As Boolean
Dim MachineNo
Dim UserID
Dim NightFlag
MachineNo=1
UserID =1
NightFlag =0 //Work at night is not allowed.
aflag = CZKEM1. SetNightFlag_Spa (MachineNo, UserID, NightFlag)
CZKEM1.RefreshData 1
9.21 SendPhoto_Spa
[Function]
VARIANT_BOOL SendPhoto_Spa ([in]LONG dwMachineNumber, [in]BSTR
PhotoName)
[Purpose]
Only support iclock 2000 devices with backup & restore photo features. This function
will send users photo to iclock 2000, and show on the screen when user is verified
correctly.
PhotoName can include path and name of users photo.
For example, if want to upload a photo for user 1.
1. Name the photo as 1.jpg, and save to one folder(e.g. c:/photos/).
2. Call this function as SendPhoto_Spa(1, c:/photos/1.jpg);
[Parameter]
dwMachineNumberMachine number.
PhotoNamePhoto path + Photo name (Photo name format: UserID.jpg).
[Return]
Returns True if success, else return False.
[Example]
Dim aflag As Boolean
Dim MachineNo
Dim PhotoName
MachineNo=1
PhotoName = c:/photos/1.jpg
aflag = CZKEM1. SendPhoto_Spa (MachineNo, PhotoName)
CZKEM1.RefreshData 1
9.22 ReadPhoto_Spa
[Function]
VARIANT_BOOL ReadPhoto_Spa ([in]LONG dwMachineNumber, [in, out] BSTR
SavePath, [in, out]BSTR PhotoName)
[Purpose]
Only support iclock 2000 devices with backup & restore photo features. This function
will download users photo from iclock 2000, and save to the path, which is indicted
in the parameter SavePath.
PhotoName is the name of the users photo in iclock 2000 device.
For example, 1.jpg is the photo name for user 1.
[Parameter]
dwMachineNumberMachine number.
SavePath: The path that will keep the photos in PC.
PhotoNamePhoto name (Photo name format: UserID.jpg).
[Return]
Returns True if success, else return False.
[Example]
Dim aflag As Boolean
Dim MachineNo
Dim PhotoPath
Dim PhotoName
MachineNo=1
PhotoPath = c:/photos/
PhotoName = 1.jpg
aflag = CZKEM1. ReadPhoto_Spa (MachineNo, PhotoPath, PhotoName)
CZKEM1.RefreshData 1
9.23 UpdateLngItem_Spa
[Function]
UpdateLngItem_Spa([in] LONG dwMachineNumber, [in,out] BSTR ItemNumber,
[in,out] BSTR ItemValue, [in,out]BSTR LngAscii)
[Purpose]
Only support zem500 devices with updating language by item features. This function
can update specific languge item in different language files. Each language is indicted
by an Ascii letter. (e.g. Spanish language is a, English is E, and Portugal is P.).
[Parameter]
dwMachineNumberMachine number.
ItemNumber: The number of the item in language file. (e.g. Entrada is 70 in
language file.)
ItemValueThe updated value for this language item. (e.g. After updating, you want
Entrada to be Checkin. ItemValue should be Checkin)
LngAsciiThe Ascii letter of the language. (e.g. a means Spanish)
[Return]
Returns True if success, else return False.
[Example]
Dim aflag As Boolean
Dim MachineNo
Dim ItemNumber
Dim ItemValue
Dim LngAscii
MachineNo=1
ItemNumber = 70
ItemValue = Entrada
LngAscii=a
aflag = CZKEM1.UpdateLngItem_Spa (MachineNo, ItemNumber, ItemValue,
LngAscii)
CZKEM1.RefreshData 1
9.24 SetTicketing_Spa
[Function]
VARIANT_BOOL SetTicketing_Spa([in] LONG dwMachineNumber, [in] ULONG
UserNo, [in] ULONG Mode, [in] ULONG Times, [in] BSTR StartDate, [in] BSTR
FinishDate, [in] LONG Minutes)
[Purpose]
Only support black and white screen devices with customized features for gym center (In
order to support customized features, the firmware of the device should be updated.).
There are two different modes of e-ticket for each user.
Time Duration
This option will permit user to enter the entertainment & sports center certain hours
during a specific period before expiring date. (For example: 50 hours in swimming
pool from 2008-10-20 to 2009-10-20).
Access times
This option will allow user to enter the entertainment & sports center certain times
before expiring date. (For example: 10 times to enter the gym center from 2008-10-20
to 2009-10-20).
The function will set detailed information of the eticket of one user.
[Parameter]
dwMachineNumberMachine number.
UserNoUsers ID number.
Mode: Mode=1 means Access times ticket; Mode=0 means Time duration ticket.
Times:
When Mode=1, the parameter indicts how many Access times remained for this
user;
When Mode=0, the parameter no use and should be set to 0.
Minutes:
When Mode=0, indicts how much Time Duration remained for this user;
When Mode=1, the parameter no use and should be set to 0.
StartDate: The date when the eticket of this user will be taken into effective.
FinishDate: The date when the eticket of this user will be expired.
[Return]
Returns True if success, else return False.
[Example]
Dim aflag As Boolean
Dim MachineNo
Dim UserNo
Dim Mode
Dim Times
Dim Minutes
Dim StartDate
Dim FinishDate
MachineNo=1
UserNo =1
Mode=1 //eticket -- counts by times
Times=10 //10 times ticket
Minutes=0
StartDate= 2008-10-20
FinishDate= 2009-10-20
aflag = CZKEM1. SetTicketing_Spa (MachineNo, UserNo, Mode, Times, StartDate,
FinishDate, Minutes)
CZKEM1.RefreshData 1
9.25 GetTicketing_Spa
[Function]
VARIANT_BOOL GetTicketing_Spa([in] LONG dwMachineNumber, [in] ULONG
UserNo, [in,out] ULONG* Mode, [in,out] ULONG* Times, [in,out] BSTR* StartDate,
[in,out] BSTR* FinishDate, [in,out] LONG* Minutes)
[Purpose]
Only support black and white screen devices with customized features for gym center (In
order to support customized features, the firmware of the device should be updated.).
There are two different modes of e-ticket for each user.
Time Duration
This option will permit user to enter the entertainment & sports center certain hours
during a specific period before expiring date. (For example: 50 hours in swimming
pool from 2008-10-20 to 2009-10-20).
Access times
This option will allow user to enter the entertainment & sports center certain times
before expiring date. (For example: 10 times to enter the gym center from 2008-10-20
to 2009-10-20).
The function will get detailed information about the exiting eticket of one user.
[Parameter]
dwMachineNumberMachine number.
UserNoUsers ID number.
Mode: Mode=1 means Access times ticket; Mode=0 means Time duration ticket.
Times:
When Mode=1, the parameter indicts how many Access times remained for this
user;
When Mode=0, the parameter no use.
Minutes:
When Mode=0, indicts how much Time Duration remained for this user;
When Mode=1, the parameter no use.
StartDate: The date when the eticket of this user will be taken into effective.
FinishDate: The date when the eticket of this user will be expired.
[Return]
Returns True if success, else return False.
[Example]
Dim aflag As Boolean
Dim MachineNo
Dim UserNo
Dim Mode
Dim Times
Dim Minutes
Dim StartDate
Dim FinishDate
MachineNo=1
UserNo =1
Mode=0
Times=0
Minutes=0
StartDate=
FinishDate=
aflag = CZKEM1. GetTicketing_Spa (MachineNo, UserNo, Mode, Times, StartDate,
FinishDate, Minutes)
CZKEM1.RefreshData 1
9.26 DelTicketing_Spa
[Function]
VARIANT_BOOL DelTicketing_Spa([in] LONG dwMachineNumber, [in] ULONG
UserNo)
[Purpose]
Only support black and white screen devices with customized features for gym center (In
order to support customized features, the firmware of the device should be updated.).
There are two different modes of e-ticket for each user.
Time Duration
This option will permit user to enter the entertainment & sports center certain hours
during a specific period before expiring date. (For example: 50 hours in swimming
pool from 2008-10-20 to 2009-10-20).
Access times
This option will allow user to enter the entertainment & sports center certain times
before expiring date. (For example: 10 times to enter the gym center from 2008-10-20
to 2009-10-20).
The function will delete the exiting eticket of one user.
[Parameter]
dwMachineNumberMachine number.
UserNoUsers ID number.
[Return]
Returns True if success, else return False.
[Example]
Dim aflag As Boolean
Dim MachineNo
Dim UserNo
MachineNo=1
UserNo =1
aflag = CZKEM1. DelTicketing_Spa (MachineNo, UserNo)
CZKEM1.RefreshData 1
9.27 RealAllTicket_Spa
[Function]
VARIANT_BOOL ReadAllTicket_Spa([in] LONG dwMachineNumber)
[Purpose]
Only support black and white screen devices with customized features for gym center (In
order to support customized features, the firmware of the device should be updated.).
There are two different modes of e-ticket for each user.
Time Duration
This option will permit user to enter the entertainment & sports center certain hours
during a specific period before expiring date. (For example: 50 hours in swimming
pool from 2008-10-20 to 2009-10-20).
Access times
This option will allow user to enter the entertainment & sports center certain times
before expiring date. (For example: 10 times to enter the gym center from 2008-10-20
to 2009-10-20).
This function will read all existing eticket information from the device into the memory of PC.
[Parameter]
dwMachineNumberMachine number.
[Return]
Returns True if success, else return False.
[Example]
Dim aflag As Boolean
Dim MachineNo
MachineNo=1
aflag = CZKEM1. ReadAllTicket_Spa (MachineNo)
CZKEM1.RefreshData 1
9.28 RealOneTicket_Spa
[Function]
VARIANT_BOOL ReadOneTicket_Spa([in] LONG dwMachineNumber, [in,out]
ULONG* UserNo, [in,out] ULONG* Mode, [in,out] ULONG* Times, [in,out] BSTR*
StartDate, [in,out] BSTR* FinishDate, [in,out] LONG* Minutes)
[Purpose]
Only support black and white screen devices with customized features for gym center (In
order to support customized features, the firmware of the device should be updated.).
There are two different modes of e-ticket for each user.
Time Duration
This option will permit user to enter the entertainment & sports center certain hours
during a specific period before expiring date. (For example: 50 hours in swimming
pool from 2008-10-20 to 2009-10-20).
Access times
This option will allow user to enter the entertainment & sports center certain times
before expiring date. (For example: 10 times to enter the gym center from 2008-10-20
to 2009-10-20).
This function will read one eticket, which is on using now (In anther word, this user is inside
swimming pool). By looping this function, we can know who and how many users are inside
swimming pool now.
[Parameter]
dwMachineNumberMachine number.
UserNoUsers ID number.
Mode: Mode=1 means Access times ticket; Mode=0 means Time duration ticket.
Times:
When Mode=1, the parameter indicts how many Access times remained for this
user;
When Mode=0, the parameter no use.
Minutes:
When Mode=0, indicts how much Time Duration remained for this user;
When Mode=1, the parameter no use.
StartDate: The date when the eticket of this user will be taken into effective.
FinishDate: The date when the eticket of this user will be expired.
[Return]
Returns True if success, else return False.
[Example]
Dim aflag As Boolean
Dim MachineNo
Dim UserNo
Dim Mode
Dim Times
Dim Minutes
Dim StartDate
Dim FinishDate
MachineNo=1
UserNo =0
Mode=0
Times=0
Minutes=0
StartDate=
FinishDate=
aflag = CZKEM1. ReadOneTicket_Spa (MachineNo, UserNo, Mode, Times, StartDate,
FinishDate, Minutes)
CZKEM1.RefreshData 1
9.29 SSR_SetUserHoliday_Spa
[Function]
VARIANT_BOOL SSR_SetUserHoliday_Spa ([in] LONG dwMachineNumber, [in]
LONG UserNo, [in] BSTR StartDate, [in] BSTR FinishDate)
[Purpose]
Only support colored screen devices with user holiday features. To set a period of
personal holiday for one user by providing starting date and ending date. For each
user, maxium one period of users personal holiday is allowed.
[Parameters]
dwMachineNumber
No. of machine.
UserNo
The Users ID number
StartDate
The starting date of the personal holiday period. Date format is: yyyy-mm-dd.
FinishDate
The ending date of the personal holiday period. Date format is: yyyy-mm-dd.
[Return]
Returns True if success, else return False.
[Example]
9.30 SSR_GetUserHoliday_Spa
[Function]
VARIANT_BOOL SSR_GetUserHoliday_Spa ([in] LONG dwMachineNumber, [in]
LONG UserNo, [in,out] BSTR* StartDate, [in,out] BSTR* FinishDate)
[Purpose]
Only support colored screen devices with user holiday features, return the beginning
date and ending date of a users personal holiday by user ID.
[Parameters]
dwMachineNumber
No. of machine,
UserNo
Users ID number.
StartDate
The starting date and time of the personal holiday period.
Date format is: yyyy-mm-dd hh:mm:ss.
FinishDate
The ending date and time of the personal holiday period.
Date format is: yyyy-mm-dd hh:mm:ss.
[Return]
Returns True if success, else return False.
[Example]
9.31 SSR_DeleteUserHoliday_Spa
[Function]
VARIANT_BOOL SSR_DeleteUserHoliday_Spa ([in] LONG dwMachineNumber,
[in] LONG UserNo)
[Purpose]
Only support colored screen devices with user holiday features. To delete the period
of personal holidays for one user.
[Parameter]
dwMachineNumber: The number of machine, maxium supports 4 bytes.
UserNo: Users ID number, maxium supports 4 bytes.
[Return]
Returns True if success, else return False.
[Example]
9.32 SSR_SetUserHolidayEx_Spa
[Function]
VARIANT_BOOL SSR_SetUserHolidayEx_Spa ([in] LONG dwMachineNumber,
[in] LONG UserNo, [in] BSTR StartDate, [in] BSTR FinishDate, [in] LONG
HolidayIndex)
[Purpose]
Only support colored screen devices with user holiday features. To set mutilple
periods of personal holidays for one user. Maxium 24 periods of users personal
holiday is allowed for each user. Different personal holiday period is indicted by
HolidayIndex (0-23).
[Parameters]
dwMachineNumber
No. of machine.
UserNo
Users ID number.
StartDate
The starting date and time of one personal holiday period.
Date format is: yyyy-mm-dd hh:mm:ss.
FinishDate
The ending date and time of one personal holiday period.
Date format is: yyyy-mm-dd hh:mm:ss.
HolidayIndex
The index of a personal holiday period. There are maxium 24 personal holiday indexes
for each user. i.e. HolidayIndex can be any number between 0 to 23.
[Return]
Returns True if success, else return False.
[Example]
9.33 SSR_ReadUserHoliday_Spa
[Function]
VARIANT_BOOL SSR_ReadUserHoliday_Spa ([in] LONG dwMachineNumber, [in]
LONG UserNo)
[Purpose]
Only support colored screen devices with user holiday features. To judge whether
certain users personal holiday period has been set or not before.
[Parameters]
dwMachineNumber
No. of machine,
UserNo
Users ID number.
[Return]
Returns True if success, else return False.
[Example]
9.34 SSR_DeleteUserHolidayEx_Spa
[Function]
VARIANT_BOOL SSR_DeleteUserHolidayEx_Spa ([in] LONG dwMachineNumber,
[in] LONG UserNo, [in] LONG HolidayIndex)
[Purpose]
Only support colored screen devices with user holiday features. To delete one period
of holiday according to holiday index, out of maxium 24 holiday periods of one user.
[Parameter]
dwMachineNumber
The number of machine, maxium supports 4 bytes.
UserNo
Users ID number, maxium 4 bytes.
HolidayIndex
The index of a personal holiday period. There are maxium 24 personal holiday
indexes for each user. i.e. HolidayIndex can be any number between 0 to 23.
[Return]
Returns True if success, else return False.
[Example]
9.35 SSR_ClearUserHoliday_Spa
[Function]
VARIANT_BOOL SSR_ClearUserHoliday_Spa ([in] LONG dwMachineNumber)
[Purpose]
Only support colored screen devices with user holiday features. Clear all users
personal holidays.
[Parameter]
dwMachineNumberMachine number.
[Return]
Returns True if success, else return False.
[Example]
Dim aflag As Boolean
aflag = CZKEM1.SSR_ClearUserHoliday_Spa ()
CZKEM1.RefreshData 1
9.36 SSR_SetShortkey_Spa
[Function]
SSR_SetShortkey_Spa([in] LONG ShortKeyID, [in] LONG ShortKeyFun, [in] LONG StateCode,
[in] BSTR StateName,[out,retval] VARIANT_BOOL* pVal);
[Purpose]
Only support iclock260 device with spanish latest firmware. It will allow end user to
set shortkey (e.g. F1, F2, ..., F8, etc..) for
Attend states (Check in, Check out...).
Incidence (Smoking, coffee...).
View SMS
[Parameter]
ShortKeyID
The ID of the short key, you want to define.
F1: 1
F2: 2
F3: 3
F4: 4
F5: 5
F6: 6
F7: 7
F8: 8
ShortKeyFun:
To indict the purpose of the short key.
1) ShortKeyFun=1: This shortkey will be used as Attend States (Check in, Check out)
2) ShortKeyFun=2: This shortkey will be used as Incidence (Smoking, Coffee)
3) ShortKeyFun=3: This shortkey will be used to View SMS
StateCode:
1) When ShortKeyFun=1
StateCode is the ID number of Attend States (e.g. You can define Check in as 1, and
Check out as 2)
2) When ShortKeyFun=2
StateCode is the ID number of Incidence.
Notes 1: Incidence number and name can be defined by other API, please refer to the function. -
- SSR_SetWorkCode_Spa. e.g. by using SSR_SetWorkCode_Spa(1, Smoking), you can
define Smoking as 1. This means the ID number of Incidence Smoking is 1.
Notes 2: StateCode=0, means when pressing this shortkey, will display the list of Incidences for
end user to select from.
3) When ShortKeyFun=3
StateCode is no use, and can be set as any number such as -1.
StateName:
This parameter is only useful, when shortkey is used as Attend States (ShortKeyFun=1)
By this parameter, you can set the name of an Attend States. (e.g. Check in).
[Return]
Returns True if success, else return False.
[Example]
Dim aflag As Boolean
Dim ShortKeyId
Dim ShortKeyFun
Dim StateCode
ShortKeyId = 1 //To define the shortkey for F1.
ShortKeyFun = 1 //It is used as Attend State.
StateCode = 1 //Define ID number of Check In as 1.
StateName = Check In //To display Check In on the screen, when pressing F1
aflag = CZKEM1.SSR_SetShortkey_Spa(ShortKeyId, ShortKeyFun, StateCode,
StateName)
CZKEM1.RefreshData 1
9.37 SSR_DelLogByTime_Spa
[Function]
VARIANT_BOOL SSR_DelLogByTime_Spa(BSTR Time)
[Purpose]
Only support colored screen devices with the feature. To delete one piece of log by its
timestamp.
[Parameter]
TimeThe time stamp of the log. The format is: yyyy-mm-dd hh:mm:ss.
[Return]
Returns True if success, else return False.
[Example]
Dim aflag As Boolean
aflag = CZKEM1.SSR_DelLogByTime_Spa ()
CZKEM1.RefreshData 1
10.1 SetUserFace
[Function]
SetUserFace(LONG dwMachineNumber, BSTR dwEnrollNumber, LONG
dwFaceIndex, BYTE* TmpData, LONG TmpLength, VARIANT_BOOL* pVal);
[Purpose]
Upload face templates
[Parameter]
dwMachineNumber machine number
dwEnrollNumber work number (not beyond 24 bits)
dwFaceIndex digit 50 to upload all face templates of this user
TmpData face template
TmpLength the size of uploadded data
[Return Value]
Return True for success, otherwise return False.
10.2 GetUserFace
[Function]
GetUserFace(LONG dwMachineNumber, BSTR dwEnrollNumber, LONG
dwFaceIndex, BYTE* TmpData, LONG * TmpLength, VARIANT_BOOL* pVal);
[Purpose]
Download face templates
[Parameter]
dwMachineNumber machine number
dwEnrollNumber work number (not beyond 24 bits)
dwFaceIndex digit 50 to download all face templates of this user
TmpData face template
TmpLength the size of downloaded data
[Return Value]
Return True for success, otherwise Return False.
10.3 DelUserFace
[Function]
DelUserFace (LONG dwMachineNumber, BSTR dwEnrollNumber, LONG
dwFaceIndex, VARIANT_BOOL* pVal)
[Purpose]
Delete face templates
[Parameter]
dwMachineNumber machine number
dwEnrollNumber work number (not beyond 24 bits)
dwFaceIndex digit 50 to delete all face templates of this user
[Return Value]
Return True for success, otherwise return False.
[Example]
CZKEM1. SetUserFace(1, 1001010201,50)
10.4 SSR_SetUserTmpExt
[Function]
SSR_SetUserTmpExt (LONG dwMachineNumber, LONG IsDeleted, BSTR
dwEnrollNumber, LONG dwFingerIndex, BYTE* TmpData, VARIANT_BOOL*
pVal)
[Purpose]
Upload fingerprint templates
[Parameter]
dwMachineNumber machine number
IsDeleted whether to delete the fingerprint template with the same work
number of this user in deivce
dwEnrollNumber work number (not beyond 24 bits)
dwFaceIndex digit 15 to upload all fingerprints templates of this user
TmpData fingerprint template
TmpLength the size of uploaded data
[Return Value]
Return True for success, otherwise return False.
10.5 SSR_DelUserTmpExt
[Function]
SSR_DelUserTmpExt (LONG dwMachineNumber, BSTR dwEnrollNumber, LONG
dwFingerIndex, VARIANT_BOOL* pVal)
[Purpose]
Delete fingerprint templates
[Parameter]
dwMachineNumber machine number
dwEnrollNumber worknumber (not beyond 24 bits)
dwFaceIndex digit 15 to delete all fingerprint templates of this user.
[Return Value]
Return True for success, otherwise return False.
[Example]
CZKEM1. SSR_DelUserTmpExt (1, 1001010201,15)
10.6 SSR_DeleteEnrollDataExt
[Function]
SSR_DeleteEnrollDataExt (LONG dwMachineNumber, BSTR dwEnrollNumber,
LONG
dwBackupNumber, VARIANT_BOOL* pVal)
[Purpose]
Delete the enrolled data of user.
[Parameter]
dwMachineNumber machine number
dwEnrollNumber work number (not beyond 24 bits)
dwBackupNumber additonal parameter
10 delete password data
11 delete fingerprint data
13 delete all fingerprint data at one time
[Return Value]
Return True for success, otherwise return False.
[Example]
CZKEM1. SSR_DeleteEnrollDataExt (1, 100101020110)
dlDir
The directory to keep downloaded photos on the PC.
beginTime
The start time of the captured photo, that you will download
Format as: YYYYMMDDHHMM
endTime
The end time of the captured photo, that you will download
Format as: YYYYMMDDHHMM
[Return Value]
Return True for success, otherwise return False.
[Example]
string strStart = 201108301611; //2011-08-30 16:11
string strEnd = 201109301611; //2011-09-30 16:11
string strPath = "c: \\Download\\";
int iPictureType = 0; //All captured photos
bool bFlag = false;
bFlag = axCZKEM1.GetCapturePics(iPictureType, strPath, strStart, strEnd);
11.3DelCapturePics
[Function]
DelCapturePics([in] LONG captureFlag, [in] BSTR beginTime, [in] BSTR endTime,
[out,retval] VARIANT_BOOL* pVal)
[Purpose]
To delete captured photos from the device.
[Parameter]
CaptureFlag
The types of captured photo, that you will download.
Value Description
0 All captured photos
1 White list photos (verify pass photo)
2 Black list photo (verify failed photo)
beginTime
The start time of the captured photo, that you will download
Format as: YYYYMMDDHHMM
endTime
The end time of the captured photo, that you will download
Format as: YYYYMMDDHHMM
[Return Value]
Return True for success, otherwise return False.
[Example]
string strStart = 201108301611; //2011-08-30 16:11
string strEnd = 201109301611; //2011-09-30 16:11
int iPictureType = 0; //All captured photos
bool bFlag = false;
bFlag = axCZKEM1. DelCapturePics(iPictureType, strStart, strEnd);
11.4SetSubMask
[Function]
SetSubMask([in] LONG dwMachineNumber, [in] BSTR SubMask,
[out,retval]VARIANT_BOOL* pVal)
[Purpose]
Set sub mask of the device by SDK
[Parameter]
dwMachineNumber
machine number
SubMask
SubMask Address.
Format as: 255.255.255.0
[Return Value]
Return True for success, otherwise return False.
[Example]
CZKEM1. SetSubMask (1, 255.255.255.0)
11.5GetSubMask
[Function]
GetSubMask([in] LONG dwMachineNumber, [out] BSTR* SubMask,
[out,retval]VARIANT_BOOL* pVal)
[Purpose]
Get sub mask of the device by SDK
[Parameter]
dwMachineNumber
machine number
SubMask
SubMask Address.
Format as: 255.255.255.0
[Return Value]
Return True for success, otherwise return False.
[Example]
string Submask;
CZKEM1. GetSubMask (1, &Submask);
11.6SetGateway
[Function]
SetGateway([in] LONG dwMachineNumber, [in] BSTR Gateway,
[out,retval]VARIANT_BOOL* pVal)
[Purpose]
Set sub mask of the device by SDK
[Parameter]
dwMachineNumber
machine number
Gateway
Gateway Address.
Format as: 255.255.255.0
[Return Value]
Return True for success, otherwise return False.
[Example]
CZKEM1. SetGateway (1, 255.255.255.0)
11.7GetGateway
[Function]
GetGateway([in] LONG dwMachineNumber, [out] BSTR* Gateway,
[out,retval]VARIANT_BOOL* pVal)
[Purpose]
Get sub mask of the device by SDK
[Parameter]
dwMachineNumber
machine number
Gateway
Gateway Address.
Format as: 255.255.255.0
[Return Value]
Return True for success, otherwise return False.
[Example]
string Gateway;
CZKEM1. GetGateway (1, &Gateway);
11.8 SSR_SendPhoto_Spa
[Function]
VARIANT_BOOL SSR_SendPhoto_Spa ([in]LONG dwMachineNumber, [in]BSTR
PhotoName)
[Purpose]
Only support iclock devices with backup & restore photo features. This function will
send users photo to iclock, and show on the screen when user is verified correctly.
PhotoName can include path and name of users photo.
For example, if want to upload a photo for user 1.
Name the photo as 1.jpg, and save to one folder(e.g. c:/photos/).
Call this function as SSR_SendPhoto_Spa(1, c:/photos/1.jpg);
[Parameter]
dwMachineNumberMachine number.
PhotoNamePhoto path + Photo name (Photo name format: UserID.jpg).
[Return]
Returns True if success, else return False.
[Example]
Dim aflag As Boolean
Dim MachineNo
Dim PhotoName
MachineNo=1
PhotoName = c:/photos/1.jpg
aflag = CZKEM1. SSR_SendPhoto_Spa (MachineNo, PhotoName)
CZKEM1.RefreshData 1
11.9 SSR_ReadPhoto_Spa
[Function]
VARIANT_BOOL SSR_ReadPhoto_Spa ([in]LONG dwMachineNumber, [in, out]
BSTR SavePath, [in, out]BSTR PhotoName)
[Purpose]
Only support iclock devices with backup & restore photo features. This function will
download users photo from iclock, and save to the path, which is indicted in the
parameter SavePath.
PhotoName is the name of the users photo in iclock device.
For example, 1.jpg is the photo name for user 1.
[Parameter]
dwMachineNumberMachine number.
SavePath: The path that will keep the photos in PC.
PhotoNamePhoto name (Photo name format: UserID.jpg).
[Return]
Returns True if success, else return False.
[Example]
Dim aflag As Boolean
Dim MachineNo
Dim PhotoPath
Dim PhotoName
MachineNo=1
PhotoPath = c:/photos/
PhotoName = 1.jpg
aflag = CZKEM1. SSR_ReadPhoto_Spa (MachineNo, PhotoPath, PhotoName)
CZKEM1.RefreshData 1
Technical Assistant
Thanks for your concern on the product and we will continue to offer perfect service.
Please visit our technology BBS and fulfill 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 on
Saturday, excluding legal holidays and Sunday.
We welcome your calls at any time and provide quick solutions for you.
Before calling, Please confirm that all other applications being used have been closed
according to the manual.
Address: ZK Mansion, Wuhe Road, Gangtou, Bantian, Buji Town, Longgang
District,Shenzhen China 518129
Direct Line: 0086-755-83512040, 89602667
Fax: 0086-755-89602675, 83512069
If you have any questions 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 visit 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
we can.