IFace Series SDK Manual

IFACE_SDK_Manual

IFACE_SDK_Manual

IFACE_SDK_Manual

IFACE_SDK_Manual

User Manual: Pdf

Open the PDF directly: View PDF PDF.
Page Count: 86

iFace
iFace
iFace
iFace Series
Series
Series
Series
Communication
Communication
Communication
Communication Protocol
Protocol
Protocol
Protocol SDK
SDK
SDK
SDK
Development
Development
Development
Development Handbook
Handbook
Handbook
Handbook
—————————————————————————————————
—————————————————————————————————
—————————————————————————————————
—————————————————————————————————
Date:
Date:
Date:
Date: July
July
July
July ,
,
,
, 20
20
20
20 12
12
12
12
20 12 ZKSoftware Inc. All rights reserved.
If there is some change of information in this handbook, ZKSoftware won't inform specially.
ZKSoftware Inc. is our company logo. Biokey is core technology logo of ZKSoftware. Both
logos have been registered in China and America.
Other trademarks and product names mentioned in this handbook are produced by other
companies. ZKSoftware Inc. has no property of them.
Please solve use problems (instead of development kit problem) during development by
yourself.
ZKSoftware has no responsibility for data loss caused by users or programs.
This handbook is designed on the basis of SDK 6. 2 . 4 . 1 .
Contents
Contents
Contents
Contents
Communication
Communication
Communication
Communication Protocol
Protocol
Protocol
Protocol SDK....................................................................................................................
SDK....................................................................................................................
SDK....................................................................................................................
SDK.................................................................................................................... 1
1
1
1
Development
Development
Development
Development Handbook
Handbook
Handbook
Handbook .............................................................................................................................
.............................................................................................................................
.............................................................................................................................
............................................................................................................................. 1
1
1
1
Contents
Contents
Contents
Contents ......................................................................................................................................................
......................................................................................................................................................
......................................................................................................................................................
...................................................................................................................................................... 3
3
3
3
1
1
1
1 SDK
SDK
SDK
SDK Description.......................................................................................................................................
Description.......................................................................................................................................
Description.......................................................................................................................................
Description....................................................................................................................................... 7
7
7
7
2
2
2
2 Quick
Quick
Quick
Quick Start................................................................................................................................................
Start................................................................................................................................................
Start................................................................................................................................................
Start................................................................................................................................................ 7
7
7
7
2. 1 Terms .............................................................................................................................................. 7
2. 2 Common Processes......................................................................................................................... 9
2. 2 .1 Downloading Attendance Records ......................................................................................... 9
2. 2 .2 Downloading Operation Records............................................................................................ 9
2. 2 .3 Setting Access Control..........................................................................................................10
2. 2 .4 Downloading User Information, Fingerprint Templates, or Face Templates............................10
2. 2 .5 Receiving Real-time Events ..................................................................................................12
2. 2 .6 Enrolling Users Online (Uploading Information, Fingerprint Templates, and Face Templates of
Users) ...........................................................................................................................................12
3
3
3
3 Related
Related
Related
Related Attributes
Attributes
Attributes
Attributes ...................................................................................................................................13
...................................................................................................................................13
...................................................................................................................................13
...................................................................................................................................13
3.1 AccGroup........................................................................................................................................13
3.2 AccTimeZones................................................................................................................................13
3.3 BASE64..........................................................................................................................................14
3.4 CardNumber ...................................................................................................................................14
3.5 CommPort ......................................................................................................................................14
3.6 ConvertBIG5...................................................................................................................................14
3.7 PINWidth ........................................................................................................................................14
3.8 GetStrCardNumber .........................................................................................................................14
3.9 SetStrCardNumber .........................................................................................................................15
4
4
4
4 Real-time
Real-time
Real-time
Real-time Event
Event
Event
Event Functions......................................................................................................................15
Functions......................................................................................................................15
Functions......................................................................................................................15
Functions......................................................................................................................15
4.1 Obtaining Real-Time Events............................................................................................................15
4.1.1 RegEvent..............................................................................................................................15
4.1.2 ReadRTLog ..........................................................................................................................16
4.1.3 GetRTLog.............................................................................................................................16
4.2 Real-Time Events ...........................................................................................................................17
4.2.1 OnConnected .......................................................................................................................17
4.2.2 OnDisConnected ..................................................................................................................17
4.2.3 OnAlarm ...............................................................................................................................17
4.2.4 OnDoor.................................................................................................................................17
4.2.5 OnAttTransactionEx..............................................................................................................18
4.2.6 OnEnrollFingerEx .................................................................................................................19
4.2.7 OnFinger ..............................................................................................................................19
4.2.8 OnFingerFeature ..................................................................................................................19
4.2.9 OnHIDNum...........................................................................................................................19
4.2.10 OnNewUser ........................................................................................................................19
4.2.11 OnVerify .............................................................................................................................19
4.2.12 OnWriteCard.......................................................................................................................20
4.2.13 OnEmptyCard.....................................................................................................................20
4.2.14 OnEMData..........................................................................................................................20
5
5
5
5 Common
Common
Common
Common Functions.................................................................................................................................20
Functions.................................................................................................................................20
Functions.................................................................................................................................20
Functions.................................................................................................................................20
5.1 Device Connection Functions..........................................................................................................20
5.1.1 Connect_Net.........................................................................................................................20
5.1.2 Connect_Com.......................................................................................................................21
5.1.3 Disconnect............................................................................................................................21
5.2 Data Management Functions ..........................................................................................................22
5.2.1 Attendance Record Data.......................................................................................................22
5.2.2 Operation Record Data .........................................................................................................24
5.2.3 User Information Functions ...................................................................................................29
5.2.4 Enroll Data Functions (Including Both User Information and Fingerprint) ...............................34
5.2.5 Fingerprint Template Functions.............................................................................................35
5.2.6 Face Data Functions.............................................................................................................40
5.2.7 Fingerprint Template Conversion Functions ..........................................................................43
5.2.8 System Data Management Functions....................................................................................46
5.3 Access Control Functions (Time Zone, Group, Open Door Combination).........................................49
5.3.1 GetUserGroup ......................................................................................................................49
5.3.2 SetUserGroup.......................................................................................................................49
5.3.3 GetTZInfo .............................................................................................................................50
5.3.4 SetTZInfo..............................................................................................................................50
5.3.5 SSR_SetUnLockGroup .........................................................................................................51
5.3.6 SSR_GetUnLockGroup.........................................................................................................52
5.3.7 SSR_SetGroupTZ.................................................................................................................52
5.3.8 SSR_GetGroupTZ ................................................................................................................53
5.3.9 GetUserTZs..........................................................................................................................54
5.3.10 SetUserTZs ........................................................................................................................54
5.3.11 GetUserTZStr .....................................................................................................................55
5.3.12 SetUserTZStr......................................................................................................................55
5.3.13 ACUnlock ...........................................................................................................................56
5.3.14 GetACFun...........................................................................................................................56
5.3.15 GetDoorState......................................................................................................................57
5.3.16 UseGroupTimeZone ...........................................................................................................57
5.4 Device Management Functions .......................................................................................................58
5.4.1 IsTFTMachine.......................................................................................................................58
5.4.2 GetDeviceStatus...................................................................................................................58
5.4.3 GetDeviceInfo.......................................................................................................................59
5.4.4 SetDeviceInfo .......................................................................................................................62
5.4.5 SetDeviceTime .....................................................................................................................62
5.4.6 SetDeviceTime2 ...................................................................................................................63
5.4.7 GetDeviceTime.....................................................................................................................63
5.4.8 GetSerialNumber ..................................................................................................................64
5.4.9 GetProductCode ...................................................................................................................64
5.4.10 GetFirmwareVersion ...........................................................................................................65
5.4.11 GetSDKVersion ..................................................................................................................65
5.4.12 GetDeviceIP .......................................................................................................................65
5.4.13 SetDeviceIP........................................................................................................................66
5.4.14 GetDeviceMAC ...................................................................................................................66
5.4.15 SetDeviceMAC ...................................................................................................................67
5.4.16 GetWiegandFmt..................................................................................................................67
5.4.17 SetWiegandFmt ..................................................................................................................68
5.4.18 GetCardFun........................................................................................................................68
5.4.19 SetDeviceCommPwd ..........................................................................................................68
5.4.20 SetCommPassword ............................................................................................................69
5.4.21 QueryState .........................................................................................................................69
5.4.22 GetVendor ..........................................................................................................................70
5.4.23 GetDeviceStrInfo ................................................................................................................70
5.4.24 GetPlatform ........................................................................................................................71
5.4.25 ReadAOptions ....................................................................................................................71
5.4.26 GetSysOption .....................................................................................................................72
5.4.27 SetSysOption......................................................................................................................72
5.5 Others.............................................................................................................................................73
5.5.1 Device Control Functions ......................................................................................................73
5.5.2 Card Operation Functions .....................................................................................................75
5.5.3 Others ..................................................................................................................................76
6
6
6
6 FAQs
FAQs
FAQs
FAQs ........................................................................................................................................................81
........................................................................................................................................................81
........................................................................................................................................................81
........................................................................................................................................................81
6.1 How to Download Attendance Records? .........................................................................................81
6.2 How to Create a User Online?.........................................................................................................81
6.3 How to Import or Download Data from USB Disk? ...........................................................................81
6.4 How to Use Biokey to Write the Collected Fingerprint Templates Offline?........................................83
6.5 How to Obtain All Information of All Users? .....................................................................................83
6.6 How to Connect to the Device? .......................................................................................................84
6.7 Password Is Invalid After SSR_SetUserInfo Is Used........................................................................84
6.8 How to Convert an Online Template into an Offline Template? ........................................................84
6.9 Demo Program Fails to Connect to the Device. ...............................................................................84
6.10 Standalone fingerprint Device Keeps Working After Being Connected. ..........................................85
6.11 Illegal Characters Are Displayed or Screen Display Is Abnormal After Non-English Names or Short
Messages Are Uploaded to the Device..................................................................................................85
6.12 Card Management Problems.........................................................................................................85
6.13 Firewall or Router Traversal ..........................................................................................................86
6.14 Uploading a Large Capacity of Fingerprints ...................................................................................86
6.15 Differences between High-speed Upload and Ordinary Upload......................................................86
6.16 How to Download a Face Template?.............................................................................................86
1
1
1
1 SDK
SDK
SDK
SDK Description
Description
Description
Description
The communication protocol SDK is an interface for data communication with standalone
fingerprint devices, access control devices, and RFID card devices. It can be used to
conveniently manage user information and fingerprints, download attendance records, operation
records, user information, fingerprint templates, and face templates, set devices, and configure
access control. The SDK is used to:
1. Download attendance records.
2. Upload and download user information, card information, fingerprints, and face information.
3. Set access control rules of access control devices.
4. Set device time, match thresholds, etc.
5. Trigger various events of devices in real time, for example, fingerprint verification.
2
2
2
2 Quick
Quick
Quick
Quick Start
Start
Start
Start
2.
2.
2.
2. 1
1
1
1 Terms
Terms
Terms
Terms
1.
2.
Real-time event
After the SDK and the device communicate with each other successfully, some operations
on the device (for example, connecting to the device, verifying a user, and enrolling a user)
trigger corresponding events in real time, and data is transmitted to the PC (host computer).
The triggered events are called real-time events. Users can monitor device states and user
operations in real time through real-time events.
FP
Shortened form of "fingerprint".
3.
4.
5.
Fingerprint algorithm
A fingerprint algorithm refers to the algorithm used to generate and verify fingerprint
templates. At present, ZKFinger 10.0 is the latest fingerprint algorithm.It is a high-speed
algorithm with higher performance. For details, see FAQs.
High-speed buffer
A high-speed buffer refers to the memory requested by the SDK on a PC during usage. In
the data upload or download process, data is first saved in the buffer before being
processed.
Time Zone, group, open door combination
These three terms are the most important concepts of access control.
A Time Zone is a time range. A Time Zone includes the time information of one week, and a
time range is specified for each day of this week. For example, the following expression
indicates
a
time
range
from
00:00
to
22:11
in each
day
of
one
week:
00002211000022110000221100002211000022110000221100002211. Generally, 50 Time
Zones can be set in the device.
A group is a collection. When many users have the same access control privileges, these
users can be added to the same group and use the group Time Zone. Then, Time Zones
can be set for the group.
An open door combination refers to the groups that are required for unlock. If the open door
combination contains only one group, it indicates that the door is opened when any of the
users in this group passes verification. If the open door combination contains two or more
groups, the door is opened only after all groups pass verification. For example, an open
door combination contains groups A and B, the door is opened only after a member of group
A and a member of group B pass verification.
The following figure shows the relationship of the three concepts:
6. Operation record
An operation record, also called management record, is a record generated when users or
administrators operate on the device, for example, powering on/off the device and enrolling
a user.
2.
2.
2.
2. 2
2
2
2 Common
Common
Common
Common Processes
Processes
Processes
Processes
For details, see the descriptions of the demo program.
2.
2.
2.
2. 2
2
2
2 .1
.1
.1
.1 Downloading
Downloading
Downloading
Downloading Attendance
Attendance
Attendance
Attendance Records
Records
Records
Records
2.
2.
2.
2. 2
2
2
2 .2
.2
.2
.2 Downloading
Downloading
Downloading
Downloading Operation
Operation
Operation
Operation Records
Records
Records
Records
Start
Connect the device
(Connect_Net or others)
Read all operation records
from device and write into
buffer
(ReadSuperLogData)
Is operation records read
successfully from buffer?
(GetSuperLogData)
N
Y
Store data
End
2.
2.
2.
2. 2
2
2
2 .3
.3
.3
.3 Setting
Setting
Setting
Setting Access
Access
Access
Access Control
Control
Control
Control
Start
Connect the device
(Connect_Net or others)
Define time zone
(SetTZInfo)
Is group time zone used?
(UseGroupTimeZone or
GetUserTZStr)
N
Y
Define group time zone
(SetGroupTZStr)
Set user group
(SetUserGroup)
Set personal time
zone
(SetUserTZStr)
Set open door combination
(SSR_SetUnlockGroup)
End
2.
2.
2.
2. 2
2
2
2 .4
.4
.4
.4 Downloading
Downloading
Downloading
Downloading User
User
User
User Information,
Information,
Information,
Information, Fingerprint
Fingerprint
Fingerprint
Fingerprint Templates,
Templates,
Templates,
Templates, or
or
or
or Face
Face
Face
Face Templates
Templates
Templates
Templates
The left diagram shows the process of downloading the information of all users. The right
diagram shows the process of downloading the information of a specified user.
Start
Connect the device
(Connect_net or others)
Start
Connect the device
(Connect_net or others)
Read all user information
and write it to PC buffer
(ReadAllUserID)
Download user
Read all fingerprints and
write them into PC buffer
information?
(SSR_GetUserInfo)
ReadAllTemplate
Y
Is user information read
successfully from PC
buffer
(SSR_GetAllUserInfo)
Y
Obtain card number of the user
(attribute:Cardnumber or
GetStrCardNumber)
Obtain card number of the user
(attribute:Cardnumber or
GetStrCardNumber)
Obtain fingerprint
temlate of the user
(SSR_GetUserTmpStr
N
Obtain fingerprint
template of the user
(SSR_GetUserTmpStr
or GetUserTmpExStr)
Obtain face template of
the user
N
or GetUserTmpExStr)
Obtain face temlate of
the user
(GetUserFaceStr)
End
(GetUserFaceStr)
End
2.
2.
2.
2. 2
2
2
2 .5
.5
.5
.5 Receiving
Receiving
Receiving
Receiving Real-time
Real-time
Real-time
Real-time Events
Events
Events
Events
Real-time events can be received in two modes. The second mode is recommended.
Start Start
Connect the device
(Connect_Net or others)
Connect the device
(Connect_Net or others)
N
Is real-time
read successfully
from PC buffer
(ReadRTLog)
Register real-time
events to be triggered
(Regevent)
Y
Obtain real-time
events from buffer
and trigger them
End
(GetRTLog)
2.
2.
2.
2. 2
2
2
2 .6
.6
.6
.6 Enrolling
Enrolling
Enrolling
Enrolling Users
Users
Users
Users Online
Online
Online
Online (Uploading
(Uploading
(Uploading
(Uploading Information,
Information,
Information,
Information, Fingerprint
Fingerprint
Fingerprint
Fingerprint Templates,
Templates,
Templates,
Templates, and
and
and
and
Face
Face
Face
Face Templates
Templates
Templates
Templates of
of
of
of Users)
Users)
Users)
Users)
The following diagram shows the process of creating a user on the device and uploading the
card number, password, and fingerprint information for the user (that is, enrolling a card user, a
password user, and a fingerprint user).
Start
Connect the device
(Connect_Net or others)
Enroll
Enroll
Enroll
Enroll card
card
card
card
Set card number of the user
(attribute:cardnumber or
SetStrCardNumber)
Enroll
Enroll
Enroll
Enroll user
user
user
user and
and
and
and password
password
password
password
Upload user information to device. Create the user
if the user does not exist.
(SSR_SetUserInfo)
Enroll
Enroll
Enroll
Enroll fingerprint
fingerprint
fingerprint
fingerprint
Upload fingerprint template to specified user
(SSR_SetUserTmpStr or SetUserTmpExStr)
Enroll
Enroll
Enroll
Enroll face
face
face
face
Upload fingerprint template to specified user
(SetUserFaceStr)
End
3
3
3
3 Related
Related
Related
Related Attributes
Attributes
Attributes
Attributes
3.1
3.1
3.1
3.1 AccGroup
AccGroup
AccGroup
AccGroup
Usage:
Usage:
Usage:
Usage: Set or obtain the group to which a user belongs.
If this attribute is set before user information is uploaded, the user group is set when SetUserInfo
is used to upload user information. Otherwise, AccGroup is 1 by default.
Type:
Type:
Type:
Type: LONG, writable
3.2
3.2
3.2
3.2 AccTimeZones
AccTimeZones
AccTimeZones
AccTimeZones
Usage:
Usage:
Usage:
Usage: Set the Time Zone of a user.
If this attribute is set before user information is uploaded, the Time Zone of a user is set when
SetUserInfo is used to upload user information.
Type:
Type:
Type:
Type: LONG *. It can be regarded as a long one-dimensional array with subscript 3.
Readable/writable
3.3
3.3
3.3
3.3 BASE64
BASE64
BASE64
BASE64
Usage:
Usage:
Usage:
Usage: When the value is set to True, the SDK outputs the character string template in base64
codes. Otherwise, the SDK outputs the character string template in hexadecimal codes.
Type:
Type:
Type:
Type: LONG, readable/writable
3.4
3.4
3.4
3.4 CardNumber
CardNumber
CardNumber
CardNumber
Usage:
Usage:
Usage:
Usage: Set or read the card number of a user. If this attribute is unavailable, use
GetStrCardnumber and SetStrCardnumber instead.
Type:
Type:
Type:
Type: LONG, readable/writable
3.5
3.5
3.5
3.5 CommPort
CommPort
CommPort
CommPort
Usage:
Usage:
Usage:
Usage: Set the number of the serial port or the port for RS485 communication.
Type:
Type:
Type:
Type: LONG, readable/writable
3.6
3.6
3.6
3.6 ConvertBIG5
ConvertBIG5
ConvertBIG5
ConvertBIG5
Usage:
Usage:
Usage:
Usage: When the value is set to True, the SDK automatically converts the font from simplified
Chinese to traditional Chinese for offline development. This function is invalid for series products
of Multilanguage versions. Do not set this function in this case.
Type:
Type:
Type:
Type: LONG, readable/writable
Caution:
Caution:
Caution:
Caution: This attribute is invalid for Multilanguage versions. In addition, you do not need to
modify this attribute for ZEM100 5.22, ZEM200 5.30, and later versions.
3.7
3.7
3.7
3.7 PINWidth
PINWidth
PINWidth
PINWidth
Usage:
Usage:
Usage:
Usage: Indicate the maximum length of the user ID (Arabic numeral).
Type:
Type:
Type:
Type: LONG, read only
3.8
3.8
3.8
3.8 GetStrCardNumber
GetStrCardNumber
GetStrCardNumber
GetStrCardNumber
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL GetStrCardNumber([out] BSTR* ACardNumber)
[Usage]
[Usage]
[Usage]
[Usage]
Obtain the value of cardnumber of the SDK. Generally, this function can be used to obtain
the card number of a user immediately after the user information is obtained.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
AcardNumber
Card number
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
GetUserInfo
3.9
3.9
3.9
3.9 SetStrCardNumber
SetStrCardNumber
SetStrCardNumber
SetStrCardNumber
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL SetStrCardNumber([in] BSTR ACardNumber)
[Usage]
[Usage]
[Usage]
[Usage]
Set the value of cardnumber of the SDK. Generally, this function can be used to set the card
number of a user before the user information is set.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
AcardNumber
Card number
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
SetUserInfo
4
4
4
4 Real-time
Real-time
Real-time
Real-time Event
Event
Event
Event Functions
Functions
Functions
Functions
4.1
4.1
4.1
4.1 Obtaining
Obtaining
Obtaining
Obtaining Real-Time
Real-Time
Real-Time
Real-Time Events
Events
Events
Events
4.1.1
4.1.1
4.1.1
4.1.1 RegEvent
RegEvent
RegEvent
RegEvent
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL RegEvent( [in] LONG dwMachineNumber, [in] LONG EventMask)
[Usage]
[Usage]
[Usage]
[Usage]
Register required real-time events.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber:
Device number
EventMask:
Code of an event. Values are as follows:
1
2 (1<<1)
4 (1<<2)
8 (1<<3)
16 (1<<4)
256 (1<<7)
512 (1<<8)
1024 (1<<9)
2048 (1<<10)
4096 (1<<11)
8192 (1<<12)
16384 (1<<13)
OnAttTransaction, OnAttTransactionEx
OnFinger
OnNewUser
OnEnrollFinger
OnKeyPress
OnVerify
OnFingerFeature
OnDoor, OnAlarm
OnHIDNum
OnWriteCard
OnEmptyCard
OnDeleteTemplate
To register multiple real-time events, perform the XOR operation between binary codes of
related events. For example, to register all real-time events, the value of EventMask is
65535.
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
ReadRTLog, GetRTLog
4.1.2
4.1.2
4.1.2
4.1.2 ReadRTLog
ReadRTLog
ReadRTLog
ReadRTLog
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL ReadRTLog( [in] LONG dwMachineNumber)
[Usage]
[Usage]
[Usage]
[Usage]
Read real-time events and write them to the buffer of the PC. This function can be used with
GetRTLog to actively obtain real-time events from the device after the PC connects to the
device successfully.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber:
Device number
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
GetRTLog
4.1.3
4.1.3
4.1.3
4.1.3 GetRTLog
GetRTLog
GetRTLog
GetRTLog
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL GetRTLog(LONG dwMachineNumber)
[Usage]
[Usage]
[Usage]
[Usage]
Obtain an event from the buffer of the PC and trigger the event. This function can be used
with ReadRTLog to actively obtain real-time events from the device after the PC connects to
the device successfully.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber:
Device number
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
ReadRTLog
4.2
4.2
4.2
4.2 Real-Time
Real-Time
Real-Time
Real-Time Events
Events
Events
Events
4.2.1
4.2.1
4.2.1
4.2.1 OnConnected
OnConnected
OnConnected
OnConnected
This event is triggered when the PC connects to the device successfully. No value is returned.
4.2.2
4.2.2
4.2.2
4.2.2 OnDisConnected
OnDisConnected
OnDisConnected
OnDisConnected
This event is triggered when the PC disconnects from the device successfully. No value is
returned.
4.2.3
4.2.3
4.2.3
4.2.3 OnAlarm
OnAlarm
OnAlarm
OnAlarm
OnAlarm (LONG AlarmType,LONG EnrollNumber,LONG Verified)
This event is triggered when the device reports an alarm.
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Alarm Type: Type of an alarm. 55: Tamper alarm. 58: False alarm . 32: Threatened alarm .
34: Anti-pass back alarm.
EnrollNumber: User ID.
Verified: Whether to verify
The value is 0 when a tamper alarm, false alarm, or
threatened alarm is given. The value is the user ID when
other threatened alarm or anti-pass back alarm is given.
The value is 0 when a tamper alarm, false alarm , or
threatened alarm is given. The value is 1 when other
alarms are given.
4.2.4
4.2.4
4.2.4
4.2.4 OnDoor
OnDoor
OnDoor
OnDoor
OnDoor (LONG EventType)
This event is triggered when the device opens the door.
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
EventType: Open door type
4: The door is not closed. 53: Exit button. 5: The door is closed. 1: The door is opened
unexpectedly.
4.2.5
4.2.5
4.2.5
4.2.5 OnAttTransactionEx
OnAttTransactionEx
OnAttTransactionEx
OnAttTransactionEx
OnAttTransactionEx (BSTR EnrollNumber,LONG IsInValid,LONG AttState, LONG
VerifyMethod,LONG Year, LONG Month, LONG Day, LONG Hour, LONG Minute, LONG Second,
LONG WorkCode)
This event is triggered after verification succeeds.
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
EnrollNumber: UserID of a user.
IsInValid: Whether a record is valid. 1: Not valid. 0: Valid.
AttState: Attendance state (default value).
0 — Check-In 1 — Check-Out 2 — Break-Out
3 — Break-In 4 — OT-In 5 — OT-Out
VerifyMethod: Verification mode. Generally,
0:
password
verification, 1:
fingerprint
verification, 2: card verification.
In multi-verification mode:
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), 15(FACE), 16(FACE&FP), 17(FACE&PW),
18(FACE&RF), 19(FACE&FP&RF), 20(FACE&FP&PW)
Year/Month/Day/Hour/Minute/ Second indicates the time when verification succeeds.
WorkCode: work code returned during verification. Return 0 when the device does not
support work code.
4.2.6
4.2.6
4.2.6
4.2.6 OnEnrollFingerEx
OnEnrollFingerEx
OnEnrollFingerEx
OnEnrollFingerEx
OnEnrollFinger (LONG EnrollNumber, LONG FingerIndex, LONG ActionResult, LONG
TemplateLength)
This event is triggered when a fingerprint is registered.
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
EnrollNumber: User ID of the fingerprint being registered
FingerIndex: Index of the current fingerprint
ActionResult: Operation result. Return 0 if the operation is successful, or return a value
greater than 0.
TemplateLength: Length of the fingerprint template
4.2.7
4.2.7
4.2.7
4.2.7 OnFinger
OnFinger
OnFinger
OnFinger
This event is triggered when a fingerprint is placed on the fingerprint sensor of the device. No
value is returned.
4.2.8
4.2.8
4.2.8
4.2.8 OnFingerFeature
OnFingerFeature
OnFingerFeature
OnFingerFeature
OnFingerFeature (LONG Score)
This event is triggered when a user places a finger and the device registers the fingerprint.
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Score: Quality score of a fingerprint
4.2.9
4.2.9
4.2.9
4.2.9 OnHIDNum
OnHIDNum
OnHIDNum
OnHIDNum
OnHIDNum (LONG CardNumber)
This event is triggered when a card is swiped.
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
CardNumber: Number of a card that can be an ID card or an HID card. If the card is a Mifare
card, the event is triggered only when the card is used as an ID card.
4.2.10
4.2.10
4.2.10
4.2.10 OnNewUser
OnNewUser
OnNewUser
OnNewUser
OnNewUser (LONG EnrollNumber)
This event is triggered when a new user is successfully enrolled.
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
EnrollNumber: UserID of the newly enrolled user.
4.2.11
4.2.11
4.2.11
4.2.11 OnVerify
OnVerify
OnVerify
OnVerify
OnVerify (LONG UserID)
This event is triggered when a user is verified.
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
When verification succeeds, UserID indicates the ID of the user. Return the card number if
card verification is successful, or return -1.
4.2.12
4.2.12
4.2.12
4.2.12 OnWriteCard
OnWriteCard
OnWriteCard
OnWriteCard
OnWriteCard (LONG EnrollNumber, LONG ActionResult, LONG Length)
This event is triggered when the device writes a card.
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
EnrollNumber: ID of the user to be written into a card
ActionResult: Result of writing user information into a card. 0: Success. Other values:
Failure.
Length: Size of the data to be written into a card
4.2.13
4.2.13
4.2.13
4.2.13 OnEmptyCard
OnEmptyCard
OnEmptyCard
OnEmptyCard
OnEmptyCard (LONG ActionResult)
This event is triggered when a Mifare card is emptied.
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
ActionResult: Result of emptying a card. 0: Success. Other values: Failure.
4.2.14
4.2.14
4.2.14
4.2.14 OnEMData
OnEMData
OnEMData
OnEMData
OnEMData (LONG DataType, LONG DataLen, CHAR* DataBuffer)
This event is triggered when the device sends an unknown event to SDK.
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
DataType: Type of the returned event
DataLen: Data length
DataBuffer: Actual data
5
5
5
5 Common
Common
Common
Common Functions
Functions
Functions
Functions
5.1
5.1
5.1
5.1 Device
Device
Device
Device Connection
Connection
Connection
Connection Functions
Functions
Functions
Functions
5.1.1
5.1.1
5.1.1
5.1.1 Connect_Net
Connect_Net
Connect_Net
Connect_Net
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL Connect_Net( [in] BSTR IPAdd, [in] long Portl)
[Usage]
[Usage]
[Usage]
[Usage]
Connect to the device via the IP address and set up a network connection with the device.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
IPAdd:
IP address of the device
Port:
Port number used for connecting to the device. The default value is 4370.
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
Disconnect, Connect_Com, Connect_USB
5.1.2
5.1.2
5.1.2
5.1.2 Connect_Com
Connect_Com
Connect_Com
Connect_Com
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL Connect_Com( [in] long ComPort, [in] long MachineNumber, [in] long
BaudRate)
[Usage]
[Usage]
[Usage]
[Usage]
Connect to the device via a serial port, that is, via RS232 or RS485 port.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
ComPort:
Serial port number of the PC for connecting to the device
MachineNumber:
Device number
BaudRate:
Baud rate
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
Disconnect, Connect_Net
5.1.3
5.1.3
5.1.3
5.1.3 Disconnect
Disconnect
Disconnect
Disconnect
[Definition]
[Definition]
[Definition]
[Definition]
Disconnect(void)
[Usage]
[Usage]
[Usage]
[Usage]
Disconnect from the device and release related resources.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
None
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
None
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
Connect_Net, Connect_Com
5.2
5.2
5.2
5.2 Data
Data
Data
Data Management
Management
Management
Management Functions
Functions
Functions
Functions
5.2.1
5.2.1
5.2.1
5.2.1 Attendance
Attendance
Attendance
Attendance Record
Record
Record
Record Data
Data
Data
Data
5.2.1.1
5.2.1.1
5.2.1.1
5.2.1.1 ReadGeneralLogData
ReadGeneralLogData
ReadGeneralLogData
ReadGeneralLogData
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL ReadGeneralLogData( [in] long dwMachineNumber)
[Usage]
[Usage]
[Usage]
[Usage]
Read attendance records and write them into the internal buffer of the PC. This function is
the same as ReadAllGLogData.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber:
Device number
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
ReadAllGLogData, SSR_GetGenLogData, ClearGLog
5.2.1.2
5.2.1.2
5.2.1.2
5.2.1.2 ReadAllGLogData
ReadAllGLogData
ReadAllGLogData
ReadAllGLogData
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL ReadAllGLogData ( [in] long dwMachineNumber)
[Usage]
[Usage]
[Usage]
[Usage]
Read attendance records and write them into the internal buffer of the PC. This function is
the same as ReadGeneralLogData.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber:
Device number
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
ReadGeneralLogData SSR_GetGeneralLogData ClearGLog
5.2.1.3
5.2.1.3
5.2.1.3
5.2.1.3 SSR_GetGeneralLogData
SSR_GetGeneralLogData
SSR_GetGeneralLogData
SSR_GetGeneralLogData
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL 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] LONG* dwWorkcode)
[Usage]
[Usage]
[Usage]
[Usage]
Read attendance records one by one from the internal buffer. Before using this function, you
can use ReadAllGLogData or ReadGeneralLogData to read attendance records from the
device and write them into the internal buffer of the PC. Each time this function is executed,
the pointer points to the next attendance record.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
dwEnrollNumber
Pointer pointing to a BSTR variable. The value is the user ID of the received
attendance record. The value consists of up to 24 bits.
dwVerifyMode
Pointer pointing to a long variable. The value is the verification mode of the received
attendance record. The values are as follows:
Generally, 0: password verification, 1: fingerprint verification, 2: card verification.
In multi-verification mode:
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), 15(FACE), 16(FACE&FP), 17(FACE&PW),
18(FACE&RF), 19(FACE&FP&RF), 20(FACE&FP&PW)
Pointer pointing to a long variable. The value is the AttState of the received
attendance record. The values are as follows:
0 — Check-In (default value)
1 — Check-Out 2 — Break-Out
3 — Break-In 4 — OT-In 5 — OT-Out
dwYear, dwMonth, dwDay, dwHour, dwMinute, dwSecond
Pointers pointing to long variables. The values are the date and time of the received
attendance record.
dwWorkcode
Pointer pointing to a long variable. The value is the work code of the received
attendance record.
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
ReadGeneralLogData
5.2.1.4
5.2.1.4
5.2.1.4
5.2.1.4 ClearGLog
ClearGLog
ClearGLog
ClearGLog
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL ClearGLog([in] long dwMachineNumber)
[Usage]
[Usage]
[Usage]
[Usage]
Clear all attendance records from the device.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
ClearSLog, ClearKeeperData
5.2.2
5.2.2
5.2.2
5.2.2 Operation
Operation
Operation
Operation Record
Record
Record
Record Data
Data
Data
Data
5.2.2.1
5.2.2.1
5.2.2.1
5.2.2.1 ReadSuperLogData
ReadSuperLogData
ReadSuperLogData
ReadSuperLogData
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL ReadSuperLogData( [in]long dwMachineNumber)
[Usage]
[Usage]
[Usage]
[Usage]
Read operation records and write them into the internal buffer of the PC. This function is the
same as ReadAllSLogData.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber:
Device number
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
ReadAllSLogData, GetAllSLogData, GetSuperLogData, ClearSLog
5.2.2.2
5.2.2.2
5.2.2.2
5.2.2.2 ReadAllSLogData
ReadAllSLogData
ReadAllSLogData
ReadAllSLogData
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL ReadAllSLogData( [in] long dwMachineNumber)
[Usage]
[Usage]
[Usage]
[Usage]
Read operation records and write them into the internal buffer of the PC. This function is the
same as ReadSuperLogData.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber:
Device number
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
ReadSuperLogData, GetAllSLogData, GetSuperLogData, ClearSLog
5.2.2.3
5.2.2.3
5.2.2.3
5.2.2.3 GetSuperLogData
GetSuperLogData
GetSuperLogData
GetSuperLogData
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL
GetSuperLogData(
[in] long
dwMachineNumber,
[out] long*
dwTMachineNumber, [out] long* dwSEnrollNumber, [out] long* Params4, [out] long*
Params1, [out] long* Params2, [out] long* dwManipulation, [out] long* Params3, [out] long*
dwYear, [out] long* dwMonth, [out] long* dwDay, [out] long* dwHour, [out] long* dwMinute)
[Usage]
[Usage]
[Usage]
[Usage]
Read operation records one by one from the internal buffer. Before using this function, you
can use ReadAllSLogData or ReadSuperLogData to read operation records from the device
and write them into the internal buffer of the PC. Each time this function is executed, the
pointer points to the next operation record. This function is the similar to GetSuperLogData2
except that GetSuperLogData2 can be used to obtain more accurate operation record time
(in seconds).
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
dwTMachineNumber
Pointer pointing to a long variable. The value is the device number of the received
operation record.
Value
Value
Value
Value of
of
of
of
dwManipulation
dwManipulation
dwManipulation
dwManipulation
Meaning
Meaning
Meaning
Meaning of
of
of
of
dwManipulation
dwManipulation
dwManipulation
dwManipulation
Params1
Params1
Params1
Params1 Params2
Params2
Params2
Params2 Params3
Params3
Params3
Params3 Params4
Params4
Params4
Params4
0 Power on
1 Power off
3 Alarm
Alarm type. 58:
False alarm. 54:
Door entry alarm,
53: Exit button
alarm, 55: Tamper
alarm, 65535:
Alarm off
4 Enter menu
5 Change setting
Number of the set
option
6
Enroll a
fingerprint
ID of the operated
user
Operation
result. 0:
Success.
Other
values:
Failure.
Index of the
registered
fingerprint
Length of the
fingerprint
template (2:
Threatened
fingerprint)
7
Enroll a
password
dwSEnrollNumber
Pointer pointing to a long variable. The value is the administrator ID of the received
operation record.
Params4
Pointer pointing to a long variable. The value varies with dwManipulation.
Params1
Pointer pointing to along variable. The value varies with dwManipulation.
Params2
Pointer pointing to a long variable. The value varies with dwManipulation.
dwManipulation
Pointer pointing to a long variable. The value is the operation type. The specific
values are as follows:
Value
Value
Value
Value of
of
of
of
dwManipulation
dwManipulation
dwManipulation
dwManipulation
Meaning
Meaning
Meaning
Meaning of
of
of
of
dwManipulation
dwManipulation
dwManipulation
dwManipulation
Params1
Params1
Params1
Params1 Params2
Params2
Params2
Params2 Params3
Params3
Params3
Params3 Params4
Params4
Params4
Params4
14
Create an MF
card
ID of the operated
user
Number of
fingerprints
written into
the MF card
Size of
fingerprint
data written
into the MF
card
20
Copy data from
the MF card to
the device
Number of
fingerprints
read out
from the MF
card
22
Restore factory
setting
30 Enroll a new user
ID of the operated
user
Operation
result
32
Threatened alarm
Whether to verify.
0: Key alarm. 1:
Verify alarm
Note: When the value is Verify alarm,
dwSEnrollNumber returns the ID of the
threatened user.
34 Anti-pass back
Whether the alarm
is an anti-pass
back alarm.
Params3
Pointer pointing to a long variable. The value varies with dwManipulation.
dwYear, dwMonth, dwDay, dwHour, dwMinute
Pointers pointing to long variables. The values are the date and time of the received
operation record.
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
GetSuperLogData2, GetAllSLogData
5.2.2.4
5.2.2.4
5.2.2.4
5.2.2.4 GetAllSLogData
GetAllSLogData
GetAllSLogData
GetAllSLogData
[Definition]
[Definition]
[Definition]
[Definition]
GetAllSLogData( [in] long dwMachineNumber, [out] long* dwTMachineNumber, [out] long*
dwSEnrollNumber, [out] long* dwSMachineNumber, [out] long* dwGEnrollNumber, [out]
long* dwGMachineNumber, [out] long* dwManipulation, [out] long* dwBackupNumber, [out]
long* dwYear, [out] long* dwMonth, [out] long* dwDay, [out] long* dwHour, [out] long*
dwMinute)
[Usage]
[Usage]
[Usage]
[Usage]
Read operation records one by one from the internal buffer. Before using this function, you
can use ReadAllSLogData or ReadSuperLogData to read operation records from the device
and write them into the internal buffer of the PC. Each time this function is executed, the
pointer points to the next operation record. This function is the same as GetSuperLogData
except that interface names are different to achieve compatibility.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
Same as GetSuperLogData
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
GetSuperLogData
5.2.2.5
5.2.2.5
5.2.2.5
5.2.2.5 ClearSLog
ClearSLog
ClearSLog
ClearSLog
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL ClearSLog([in] long dwMachineNumber)
[Usage]
[Usage]
[Usage]
[Usage]
Clear all operation records from the device.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
ClearGLog, ClearKeeperData
5.2.2.6
5.2.2.6
5.2.2.6
5.2.2.6 GetSuperLogData2
GetSuperLogData2
GetSuperLogData2
GetSuperLogData2
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL GetSuperLogData2([in] LONG dwMachineNumber, [out] LONG*
dwTMachineNumber, [out] LONG* dwSEnrollNumber, [out] LONG* Params4, [out] LONG*
Params1, [out] LONG* Params2, [out] LONG* dwManipulation, [out] LONG* Params3,
[out] LONG* dwYear, [out] LONG* dwMonth, [out] LONG* dwDay, [out] LONG* dwHour,[out]
LONG* dwMinute, [out] LONG* dwSecs)
[Usage]
[Usage]
[Usage]
[Usage]
Read operation records one by one from the internal buffer. Before using this function, you
can use ReadAllSLogData or ReadSuperLogData to read operation records from the device
and write them into the internal buffer of the PC. Each time this function is executed, the
pointer points to the next operation record. This function is the similar to GetSuperLogData
except that GetSuperLogData can be used to obtain more accurate operation record time
(in seconds).
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwYear, dwMonth, dwDay, dwHour, dwMinute, dwSecs
Pointers pointing to long variables. The values are the date and time of the received
operation record.
For other parameters, see GetSuperLogData.
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
ReadAllSLogData, GetSuperLogData
5.2.3
5.2.3
5.2.3
5.2.3 User
User
User
User Information
Information
Information
Information Functions
Functions
Functions
Functions
5.2.3.1
5.2.3.1
5.2.3.1
5.2.3.1 ReadAllUserID
ReadAllUserID
ReadAllUserID
ReadAllUserID
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL ReadAllUserID( [in] long dwMachineNumber)
[Usage]
[Usage]
[Usage]
[Usage]
Read all user information except fingerprint templates, such as user ID, password, name,
and card number, and write the user information into the memory of the PC. After this
function is executed, you can use GetAllUserID to take out user information.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
GetAllUserID
5.2.3.2
5.2.3.2
5.2.3.2
5.2.3.2 SSR_EnableUser
SSR_EnableUser
SSR_EnableUser
SSR_EnableUser
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL SSR_EnableUser( [in] LONG
dwMachineNumber,
[in]
BSTR
dwEnrollNumber, [in] VARIANT_BOOL bFlag)
[Usage]
[Usage]
[Usage]
[Usage]
Set whether a user is enabled.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
dwEnrollNumber
User ID
bFlag
User enable flag. True: Enabled. False: Disabled.
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
None
5.2.3.3
5.2.3.3
5.2.3.3
5.2.3.3 SetUserInfoEx
SetUserInfoEx
SetUserInfoEx
SetUserInfoEx
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL SetUserInfoEx( [in] LONG
dwMachineNumber,
[in] LONG
dwEnrollNumber, [in] LONG VerifyStyle, [in] BYTE* Reserved)
[Usage]
[Usage]
[Usage]
[Usage]
Upload the user verification mode or group verification mode. Only the devices supporting
multiple verification modes support this function.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
dwEnrollNumber
User ID
VerifyStyle
Verification mode
For TFT access control fingerprint devices: 0 (group verification mode),
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) , 143(FACE), 144(FACE&FP),
145(FACE&PW), 146(FACE&RF), 147(FACE&FP&RF), 148(FACE&FP&PW) .
Reserved
Reserved parameter temporarily without specific meanings.
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
GetUserInfoEx, DeleteUserInfoEx
5.2.3.4
5.2.3.4
5.2.3.4
5.2.3.4 GetUserInfoEx
GetUserInfoEx
GetUserInfoEx
GetUserInfoEx
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL GetUserInfoEx( [in] LONG
dwMachineNumber,
[in] LONG
dwEnrollNumber, [out] LONG* VerifyStyle, [out] BYTE* Reserved)
[Usage]
[Usage]
[Usage]
[Usage]
Obtain the user verification mode. Only the devices support multiple verification modes
support this function.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
dwEnrollNumber
User ID
VerifyStyle
Verification mode of the user described by dwEnrollNumber. The values are as
follows:
For TFT access control
fingerprint device:
0 (group verification mode),
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) , 143(FACE), 144(FACE&FP),
145(FACE&PW), 146(FACE&RF), 147(FACE&FP&RF), 148(FACE&FP&PW) .
Reserved
Reserved parameter without specific meanings.
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
SetUserInfoEx, DeleteUserInfoEx
5.2.3.5
5.2.3.5
5.2.3.5
5.2.3.5 DeleteUserInfoEx
DeleteUserInfoEx
DeleteUserInfoEx
DeleteUserInfoEx
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL
DeleteUserInfoEx( [in]
LONG
dwMachineNumber,
[in] LONG
dwEnrollNumber)
[Usage]
[Usage]
[Usage]
[Usage]
Delete the multiple verification modes of the specified user. Only the devices supporting
multiple verification modes support this function.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
dwEnrollNumber
User ID
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
SetUserInfoEx, GetUserInfoEx
5.2.3.6
5.2.3.6
5.2.3.6
5.2.3.6 SSR_GetAllUserInfo
SSR_GetAllUserInfo
SSR_GetAllUserInfo
SSR_GetAllUserInfo
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL GetAllUserInfo( [out] long
dwMachineNumber,
[out] long*
dwEnrollNumber, [out] BSTR * Name, [out] BSTR * Password, [out] long * Privilege, [out]
VARIANT_BOOL * Enabled)
[Usage]
[Usage]
[Usage]
[Usage]
Obtain all user information. Before executing this function, you can use ReadAllUserID to
read out all user information and write it into the memory. Each time SSR_GetAllUserInfo is
executed, the pointer points to the next user information. After all user information is read,
False is returned.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
dwEnrollNumber
User ID
Name
User name
Password
User password
Privilege
User privilege. 3: super administrator 0: common user,
dwEnable
Whether the user is enabled. 1: Enabled. 0: Disabled.
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
ReadAllUserID, GetAllUserID
5.2.3.7
5.2.3.7
5.2.3.7
5.2.3.7 SSR_GetUserInfo
SSR_GetUserInfo
SSR_GetUserInfo
SSR_GetUserInfo
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL
SSR_GetUserInfo( [in]
LONG
dwMachineNumber,
[in] BSTR
dwEnrollNumber, [out] BSTR* Name, [out] BSTR* Password, [out] LONG* Privilege, [out]
VARIANT_BOOL* Enabled)
[Usage]
[Usage]
[Usage]
[Usage]
Obtain the information of the specified user.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
dwEnrollNumber
User ID
Name
Name of the user described by dwEnrollNumber
Password
Password of the user described by dwEnrollNumber
Privilege
Privilege of the user described by dwEnrollNumber. 3: administrator, 0: common user
Enabled
User enable flag. 1: Enabled. 0: Disabled
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
SSR_SetUserInfo
5.2.3.8
5.2.3.8
5.2.3.8
5.2.3.8 SSR_SetUserInfo
SSR_SetUserInfo
SSR_SetUserInfo
SSR_SetUserInfo
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL SetUserInfo( [in] long dwMachineNumber, [in] long dwEnrollNumber, [in]
BSTR Name, [in] BSTR Password, [in] long Privilege, [in] VARIANT_BOOL Enabled)
[Usage]
[Usage]
[Usage]
[Usage]
Set user information. If the user is unavailable, the device automatically creates the user.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
dwEnrollNumber
User ID
Name
User name
Password
User password
Privilege
User privilege. 3: super administrator,0: common user
Enabled
User enable flag. 1: Enabled. 0: Disabled
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
GetUserInfo
5.2.4
5.2.4
5.2.4
5.2.4 Enroll
Enroll
Enroll
Enroll Data
Data
Data
Data Functions
Functions
Functions
Functions (Including
(Including
(Including
(Including Both
Both
Both
Both User
User
User
User Information
Information
Information
Information and
and
and
and Fingerprint)
Fingerprint)
Fingerprint)
Fingerprint)
5.2.4.1
5.2.4.1
5.2.4.1
5.2.4.1 SSR_DeleteEnrollData
SSR_DeleteEnrollData
SSR_DeleteEnrollData
SSR_DeleteEnrollData
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL DeleteEnrollData([in] long dwMachineNumber, [in] long dwEnrollNumber,
[in] long dwEMachineNumber, [in] long dwBackupNumber)
[Usage]
[Usage]
[Usage]
[Usage]
Delete enrollment data.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
dwEnrollNumber
User ID
dwBackupNumber
Index of the fingerprint
The value ranges from 0 to 9. It this case, the device also checks whether the user
has other fingerprints or passwords. If no, the device deletes the user.
When the value is 10, the device deletes the password. The device also checks
whether the user has fingerprint data. If no, the device deletes the user.
When the value is 11, the device deletes all fingerprint data of the user. When the value is
12, the device deletes the user (including all fingerprints, card numbers and passwords of
the user).
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
SSR_SetUserInfo SSR_SetUserTmp SSR_DeleteEnrollDataExt
5.2.4.2
5.2.4.2
5.2.4.2
5.2.4.2 SSR_DeleteEnrollDataExt
SSR_DeleteEnrollDataExt
SSR_DeleteEnrollDataExt
SSR_DeleteEnrollDataExt
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL SSR_DeleteEnrollDataExt([in]LONG dwMachineNumber, [in] BSTR
dwEnrollNumber, [in] LONG dwBackupNumber)
[Usage]
[Usage]
[Usage]
[Usage]
Delete enrollment data. The difference between this function and SSR_DeleteEnrollData is
that this function can delete all fingerprints. This function achieves a higher efficiency.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
dwEnrollNumber
User ID
dwBackupNumber
Index of the fingerprint
The value ranges from 0 to 9. It this case, the device also checks whether the user
has other fingerprints or passwords. If no, the device deletes the user.
When the value is 0, the device deletes the password. The device also checks
whether the user has fingerprint data. If no, the device deletes the user.
When the value is 11 or 13, the device deletes all fingerprint data of the user. When
the value is 12, the device deletes the user (including all fingerprints, card numbers
and passwords of the user).
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
SSR_SetUserInfo ,
,
,
,SSR_SetUserTmp, SSR_DeleteEnrollData
5.2.5
5.2.5
5.2.5
5.2.5 Fingerprint
Fingerprint
Fingerprint
Fingerprint Template
Template
Template
Template Functions
Functions
Functions
Functions
5.2.5.1
5.2.5.1
5.2.5.1
5.2.5.1 ReadAllTemplate
ReadAllTemplate
ReadAllTemplate
ReadAllTemplate
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL ReadAllTemplate([in] LONG dwMachineNumber)
[Usage]
[Usage]
[Usage]
[Usage]
Read out all fingerprint templates from the device and write them into the memory of the PC.
This function is used to read out and write all the fingerprints into the memory at a time. This
function achieves a higher speed in comparison with the way of obtaining fingerprints one
by one.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
None
5.2.5.2
5.2.5.2
5.2.5.2
5.2.5.2 SSR_DelUserTmp
SSR_DelUserTmp
SSR_DelUserTmp
SSR_DelUserTmp
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL DelUserTmp([in] long dwMachineNumber, [in] long dwEnrollNumber, [in]
long dwFingerIndex)
[Usage]
[Usage]
[Usage]
[Usage]
Delete the fingerprint template of a specified user.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
dwEnrollNumber
User ID
dwFingerIndex
Index of the fingerprint. The value ranges from 0 to 9.
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
SSR_SetUserTmp SSR_GetUserTmp
5.2.5.3
5.2.5.3
5.2.5.3
5.2.5.3 SSR_DelUserTmpExt
SSR_DelUserTmpExt
SSR_DelUserTmpExt
SSR_DelUserTmpExt
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL SSR_DelUserTmpExt([in] LONG dwMachineNumber, [in] BSTR
dwEnrollNumber, [in] LONG dwFingerIndex)
[Usage]
[Usage]
[Usage]
[Usage]
Delete the fingerprints of a specified user. The difference between this function and
DelUserTmp is that DelUserTmp supports 24-bit user ID.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
dwEnrollNumber
User ID
dwFingerIndex
Index of the fingerprint. The value ranges from 0 to 9.
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
SSR_DelUserTmp
5.2.5.4
5.2.5.4
5.2.5.4
5.2.5.4 SetUserTmpEx
SetUserTmpEx
SetUserTmpEx
SetUserTmpEx
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL SetUserTmpEx([in] LONG dwMachineNumber, [in] BSTR
dwEnrollNumber, [in] LONG dwFingerIndex,[in] LONG Flag, [in] BYTE* TmpData)
[Usage]
[Usage]
[Usage]
[Usage]
Upload ordinary fingerprint templates or threatened fingerprint templates of a user in
binary mode. The only difference between this function and SetUserTmpExStr is the
fingerprint template format. Caution: The user must have been created on the device, or
the user information must be uploaded together with the fingerprint templates. If the
template with the same index is already registered by the same user, the fingerprint
template will be overwritten. Note: TFT devices supporting threatened fingerprints (with
firmware version 6.60 or later) can support this function.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
dwEnrollNumber
User ID
dwFingerIndex
Fingerprint index
Flag
Flag used to indicate whether the fingerprint template is valid or is a duress
fingerprint template. 0: Invalid; 1: Valid; 3: duress fingerprint template.
TmpData
Fingerprint template data
TmpLength
Fingerprint template length
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
GetUserTmpEx, SSR_SetUserInfo, BeginBatchUpdate, BatchUpdate
5.2.5.5
5.2.5.5
5.2.5.5
5.2.5.5 SetUserTmpExStr
SetUserTmpExStr
SetUserTmpExStr
SetUserTmpExStr
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL
SetUserTmpExStr([in]
LONG
dwMachineNumber,
[in] BSTR
dwEnrollNumber, [in] LONG dwFingerIndex,[in] LONG Flag, [in] BSTR TmpData)
[Usage]
[Usage]
[Usage]
[Usage]
Upload ordinary fingerprint templates or threatened fingerprint templates of a user in string
mode. The only difference between this function and SetUserTmpEx is the fingerprint
template format. Caution: The user must have been created on the device, or the user
information must be uploaded together with the fingerprint templates. If the template with
the same index is already registered by the same user, the fingerprint template will be
overwritten. Note: TFT devices supporting threatened fingerprints (with firmware version
6.60 or later) can support this function.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
dwEnrollNumber
User ID
dwFingerIndex
Fingerprint index
Flag
Flag used to indicate whether the fingerprint template is valid or is a duress
fingerprint template. 0: Invalid; 1: Valid; 3: duress fingerprint template.
TmpData
Fingerprint template data
TmpLength
Fingerprint template length
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
GetUserTmpExStr, SSR_SetUserInfo, BeginBatchUpdate, BatchUpdate
5.2.5.6
5.2.5.6
5.2.5.6
5.2.5.6 GetUserTmpEx
GetUserTmpEx
GetUserTmpEx
GetUserTmpEx
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL GetUserTmpEx([in] LONG dwMachineNumber, [in] BSTR
dwEnrollNumber, [in] LONG dwFingerIndex,[out] LONG * Flag, [out] BYTE* TmpData, [out]
LONG* TmpLength)
[Usage]
[Usage]
[Usage]
[Usage]
Download ordinary fingerprint templates or threatened fingerprint templates of a user in
binary mode. The only difference between this function and GetUserTmpExStr is the
fingerprint template format. Note: TFT devices supporting threatened fingerprints (with
firmware version 6.60 or later) can support this function.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
dwEnrollNumber
User ID
dwFingerIndex
Fingerprint index
Flag
Flag used to indicate whether the fingerprint template is valid or is a duress
fingerprint template. 0: Invalid; 1: Valid; 3: duress fingerprint template.
TmpData
Fingerprint template data
TmpLength
Fingerprint template length
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
SetUserTmpEx, SSR_GetUserInfo
5.2.5.7
5.2.5.7
5.2.5.7
5.2.5.7 GetUserTmpExStr
GetUserTmpExStr
GetUserTmpExStr
GetUserTmpExStr
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL
GetUserTmpExStr([in]
LONG
dwMachineNumber,
[in] BSTR
dwEnrollNumber, [in] LONG dwFingerIndex,[out] LONG * Flag, [out] BSTR* TmpData, [out]
LONG* TmpLength)
[Usage]
[Usage]
[Usage]
[Usage]
Download ordinary fingerprint templates or threatened fingerprint templates of a user in
string mode. The only difference between this function and GetUserTmpEx is the
fingerprint template format. Note: TFT devices supporting threatened fingerprints (with
firmware version 6.60 or later) can support this function.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
dwEnrollNumber
User ID
dwFingerIndex
Fingerprint index
Flag
Flag used to indicate whether the fingerprint template is valid or is a duress
fingerprint template. 0: Invalid; 1: Valid; 3: duress fingerprint template.
TmpData
Fingerprint template data
TmpLength
Fingerprint template length
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
SetUserTmpExStr, SSR_GetUserInfo
5.2.6
5.2.6
5.2.6
5.2.6 Face
Face
Face
Face Data
Data
Data
Data Functions
Functions
Functions
Functions
5.2.6.1
5.2.6.1
5.2.6.1
5.2.6.1 SetUserFace
SetUserFace
SetUserFace
SetUserFace
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL SetUserFace([in]LONG dwMachineNumber,[in]BSTR dwEnrollNumber,[in]
LONG dwFaceIndex, [in] BYTE* TmpData,[in] LONG TmpLength)
[Usage]
[Usage]
[Usage]
[Usage]
Upload face templates of a user. The only difference between this function is
SetUserFaceStr is the face template format.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
dwEnrollNumber
User ID (with less than 24 bits)
dwFaceIndex
Face index. The value can be only 50, that is, all face templates of the user are
uploaded.
TmpData
Face template
TmpLength
Face template length
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
GetUserFace, DelUserFace, SetUserFaceStr, GetUserFaceStr
5.2.6.2
5.2.6.2
5.2.6.2
5.2.6.2 GetUserFace
GetUserFace
GetUserFace
GetUserFace
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL GetUserFace([in]LONG dwMachineNumber, [in] BSTR dwEnrollNumber,
[in] LONG dwFaceIndex, [out] BYTE* TmpData, [out] LONG * TmpLength)
[Usage]
[Usage]
[Usage]
[Usage]
Download face templates. The only difference between this function and GetUserFaceStr is
the format of the returned face template.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
dwEnrollNumber
User ID (with less than 24 bits)
dwFaceIndex
Face index. The value can be only 50, that is, deleting all face templates of the user.
TmpData
Face template
TmpLength
Face template length
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
SetUserFace, DelUserFace, SetUserFaceStr, GetUserFaceStr
5.2.6.3
5.2.6.3
5.2.6.3
5.2.6.3 DelUserFace
DelUserFace
DelUserFace
DelUserFace
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL DelUserFace([in] LONG dwMachineNumber, [in] BSTR dwEnrollNumber,
[in] LONG dwFaceIndex)
[Usage]
[Usage]
[Usage]
[Usage]
Delete the face templates of a user.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
dwEnrollNumber
User ID (with less than 24 bits)
dwFaceIndex
Face index. The value can be only 50, that is, deleting all face templates of the user.
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
GetUserFace, SetUserFace, SetUserFaceStr, GetUserFaceStr
5.2.6.4
5.2.6.4
5.2.6.4
5.2.6.4 GetUserFaceStr
GetUserFaceStr
GetUserFaceStr
GetUserFaceStr
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL GetUserFaceStr([in]LONG dwMachineNumber,[in]BSTR dwEnrollNumber,
[in]LONG dwFaceIndex, [out]BSTR* TmpData, [out]LONG * TmpLength)
[Usage]
[Usage]
[Usage]
[Usage]
Download face templates. Difference from GetUserFace, this function is used to return face
templates in string format.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
dwEnrollNumber
User ID (with less than 24 bits)
dwFaceIndex
Face index. The value can be only 50, that is, downloading all face templates of the
user.
TmpData
Face template
TmpLength
Face template length
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
GetUserFace, SetUserFace, SetUserFaceStr,
5.2.6.5
5.2.6.5
5.2.6.5
5.2.6.5 SetUserFaceStr
SetUserFaceStr
SetUserFaceStr
SetUserFaceStr
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL SetUserFaceStr([in] LONG
dwMachineNumber,
[in] BSTR
dwEnrollNumber, [in] LONG dwFaceIndex, [in]BSTR TmpData, [in] LONG TmpLength)
[Usage]
[Usage]
[Usage]
[Usage]
Upload face templates of a user. The only difference between this function is SetUserFace
is the face template format.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
dwEnrollNumber
User ID (with less than 24 bits)
dwFaceIndex
Face index. The value can be only 50, that is, uploading all face templates of the
user.
TmpData
Face template
TmpLength
Face template length
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
SetUserFace, GetUserFaceStr, GetUserFace
5.2.7
5.2.7
5.2.7
5.2.7 Fingerprint
Fingerprint
Fingerprint
Fingerprint Template
Template
Template
Template Conversion
Conversion
Conversion
Conversion Functions
Functions
Functions
Functions
5.2.7.1
5.2.7.1
5.2.7.1
5.2.7.1 GetFPTempLength
GetFPTempLength
GetFPTempLength
GetFPTempLength
[Definition]
[Definition]
[Definition]
[Definition]
GetFPTempLength([in] BYTE* dwEnrollData, [out] long * Len)
[Usage]
[Usage]
[Usage]
[Usage]
Calculate the length of the specified fingerprint template.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwEnrollData
Pointer pointing to the fingerprint template
Len
Length of the fingerprint template described by dwEnrollData
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
GetFPTempLengthStr
5.2.7.2
5.2.7.2
5.2.7.2
5.2.7.2 GetFPTempLengthStr
GetFPTempLengthStr
GetFPTempLengthStr
GetFPTempLengthStr
[Definition]
[Definition]
[Definition]
[Definition]
GetFPTempLengthStr( [in] BSTR dwEnrollData, [out] long * Len)
[Usage]
[Usage]
[Usage]
[Usage]
Calculate the length of a specified fingerprint template.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwEnrollData
Fingerprint template in string form
Len
Length of the fingerprint template described by dwEnrollData
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
GetFPTempLength
5.2.7.3
5.2.7.3
5.2.7.3
5.2.7.3 FPTempConvert
FPTempConvert
FPTempConvert
FPTempConvert
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL FPTempConvert( [in] BYTE* TmpData1, [out] BYTE* TmpData2, [out] long
*Size)
[Usage]
[Usage]
[Usage]
[Usage]
Convert an Standalone fingerprint template into a Biokey fingerprint template. The only
difference between this function and FPTempConvertStr is the data format.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
TmpData1
Standalone fingerprint template to be converted
TmpData2
Converted Biokey fingerprint template
Size
Size of the converted Biokey fingerprint template
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
FPTempConvertStr, FPTempConvertNew, FPTempConvertNewStr
5.2.7.4
5.2.7.4
5.2.7.4
5.2.7.4 FPTempConvertStr
FPTempConvertStr
FPTempConvertStr
FPTempConvertStr
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL
FPTempConvertStr( [in] BSTR TmpData1, [out] BSTR* TmpData2, [out]
long *Size)
[Usage]
[Usage]
[Usage]
[Usage]
Convert an Standalone fingerprint template into a Biokey fingerprint template in string form.
The only difference between this function and FPTempConvert is the data format.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
TmpData1
Standalone fingerprint template to be converted
TmpData2
Converted Biokey fingerprint template
Size
Size of the converted Biokey fingerprint template
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
FPTempConvert, FPTempConvertNew, FPTempConvertNewStr
5.2.7.5
5.2.7.5
5.2.7.5
5.2.7.5 FPTempConvertNew
FPTempConvertNew
FPTempConvertNew
FPTempConvertNew
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL FPTempConvertNew( [in] BYTE* TmpData1, [out] BYTE* TmpData2, [out]
long *Size)
[Usage]
[Usage]
[Usage]
[Usage]
Convert a Biokey fingerprint template into an Standalone fingerprint template. The only
difference between this function and FPTempConvertNewStr is the data format.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
TmpData1
Standalone fingerprint template to be converted into
TmpData2
Converted Standalone fingerprint template
Size
Size of the converted Standalone fingerprint template
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
FPTempConvertNewStr, FPTempConvert, FPTempConvertStr
5.2.7.6
5.2.7.6
5.2.7.6
5.2.7.6 FPTempConvertNewStr
FPTempConvertNewStr
FPTempConvertNewStr
FPTempConvertNewStr
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL FPTempConvertNewStr( [in] BSTR TmpData1, [out] BSTR* TmpData2,
[out] long *Size)
[Usage]
[Usage]
[Usage]
[Usage]
Convert a Biokey fingerprint template into an Standalone fingerprint template in string form.
The only difference between this function and FPTempConvertNew is the data format.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
TmpData1
Standalone fingerprint template to be converted into
TmpData2
Converted Standalone fingerprint template
Size
Size of the converted Standalone fingerprint template
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
FPTempConvertNew, FPTempConvert, FPTempConvertStr
5.2.8
5.2.8
5.2.8
5.2.8 System
System
System
System Data
Data
Data
Data Management
Management
Management
Management Functions
Functions
Functions
Functions
5.2.8.1
5.2.8.1
5.2.8.1
5.2.8.1 ClearKeeperData
ClearKeeperData
ClearKeeperData
ClearKeeperData
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL ClearKeeperData( [
[
[
[in ]
]
]
]long dwMachineNumber)
[Usage]
[Usage]
[Usage]
[Usage]
Clear all data in the device.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
ClearGLog, ClearSLog
5.2.8.2
5.2.8.2
5.2.8.2
5.2.8.2 ClearData
ClearData
ClearData
ClearData
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL ClearData( [in] LONG dwMachineNumber, [in] LONG DataFlag)
[Usage]
[Usage]
[Usage]
[Usage]
Clear the record specified by DataFlag from the device.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
DataFlag
Type of the records to be cleared. The value ranges from 1 to 5. The meanings are
as follows:
1. Attendance record
2. Fingerprint template data
3. None
4. Operation record
5. User information
When the value of this parameter is 5, all user data in the device is deleted. Note: All
fingerprint templates are also deleted.
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
ClearKeeperData
5.2.8.3
5.2.8.3
5.2.8.3
5.2.8.3 GetDataFile
GetDataFile
GetDataFile
GetDataFile
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL
GetDataFile( [in] LONG dwMachineNumber, [in] LONG DataFlag, [in]
BSTR FileName)
[Usage]
[Usage]
[Usage]
[Usage]
Obtain the specified data file from the device.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
DataFlag
Type of the data file to be obtained
1. Attendance record data file
2. Fingerprint template data file
3. None
4. Operation record data file
5. User information data file
6. SMS data file
7. SMS and user relationship data file
8. Extended user information data file
9. Work code data file
FileName
Name of the obtained data file
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
5.2.8.4
5.2.8.4
5.2.8.4
5.2.8.4 SendFile
SendFile
SendFile
SendFile
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL SendFile( [in] LONG dwMachineNumber, [in] BSTR FileName)
[Usage]
[Usage]
[Usage]
[Usage]
Send files to the device, usually to the /mnt/mtdblock/
/mnt/mtdblock/
/mnt/mtdblock/
/mnt/mtdblock/ directory. For TFT devices, if user
pictures or advertisement pictures are sent, the files should be named in the following
formats and automatically moved to corresponding directories.
Naming of advertisement pictures: prefix "ad" +a numeral ranging from 1 to 20 + suffix ".jpg",
for example, ad_4.jpg
ad_4.jpg
ad_4.jpg
ad_4.jpg
Naming of user pictures: user ID + ".jpg", for example, 1.jpg
1.jpg
1.jpg
1.jpg
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
FileName
Name of the file to be sent
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
ReadFile
5.2.8.5
5.2.8.5
5.2.8.5
5.2.8.5 RefreshData
RefreshData
RefreshData
RefreshData
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL RefreshData([in] long dwMachineNumber)
[Usage]
[Usage]
[Usage]
[Usage]
Refresh the data in the device. This function is usually called after user information or
fingerprints are uploaded. In this way, the modifications take effect immediately.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
None
5.3
5.3
5.3
5.3 Access
Access
Access
Access Control
Control
Control
Control Functions
Functions
Functions
Functions (Time
(Time
(Time
(Time Zone,
Zone,
Zone,
Zone, Group,
Group,
Group,
Group, Open
Open
Open
Open Door
Door
Door
Door
Combination)
Combination)
Combination)
Combination)
5.3.1
5.3.1
5.3.1
5.3.1 GetUserGroup
GetUserGroup
GetUserGroup
GetUserGroup
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL GetUserGroup( [in] long dwMachineNumber, [in] long dwEnrollNumber,
[out] long *UserGrp)
[Usage]
[Usage]
[Usage]
[Usage]
Obtain the number of the group to which a specified user belongs.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
dwEnrollNumber
User ID
UserGrp
Group number of the user described by dwEnrollNumber. The value ranges from 1 to
5.
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
SetUserGroup
5.3.2
5.3.2
5.3.2
5.3.2 SetUserGroup
SetUserGroup
SetUserGroup
SetUserGroup
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL SetUserGroup( [in] long dwMachineNumber, [in] long dwEnrollNumber, [in]
long UserGrpl)
[Usage]
[Usage]
[Usage]
[Usage]
Set the group to which a specified user belongs.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
dwEnrollNumber
User ID
UserGrpl
Group number. The value ranges from 1 to 5.
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
GetUserGroup
5.3.3
5.3.3
5.3.3
5.3.3 GetTZInfo
GetTZInfo
GetTZInfo
GetTZInfo
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL GetTZInfo( [in] long dwMachineNumber, [in] long TZIndex, [out] BSTR
*TZ)
[Usage]
[Usage]
[Usage]
[Usage]
Obtain the information of the Time Zone with the specified number.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
TZIndex
Time Zone index
TZ
Time Zone with the index described by TZIndex. Every eight bits represent a Time
Zone, in format of hhmmhhmm. For example,
10111223000023590000235900002359000023590000235900002359 indicates a
Time Zone covering the whole day from Monday to Saturday and from 10:11 to 12:23
of Sunday.
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
SetTZInfo
5.3.4
5.3.4
5.3.4
5.3.4 SetTZInfo
SetTZInfo
SetTZInfo
SetTZInfo
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL SetTZInfo( [in] long dwMachineNumber, [in] long TZIndex, [in] BSTR TZ)
[Usage]
[Usage]
[Usage]
[Usage]
Set the information of the Time Zone with the specified number.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
TZIndex
Time Zone index
TZ
Time Zone to be set. Every eight bits represent a Time Zone, in format of
hhmmhhmm. For example,
10111223000023590000235900002359000023590000235900002359 indicates a
Time Zone covering the whole day from Monday to Saturday and from 10:11 to 12:23
of Sunday.
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
GetTZInfo
5.3.5
5.3.5
5.3.5
5.3.5 SSR_SetUnLockGroup
SSR_SetUnLockGroup
SSR_SetUnLockGroup
SSR_SetUnLockGroup
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL
SSR_SetUnLockGroup(
[in]
LONG
dwMachineNumber,
[in]
LONG
CombNo, [in] LONG Group1, [in] LONG Group2, [in] LONG Group3, [in] LONG Group4, [in]
LONG Group5)
[Usage]
[Usage]
[Usage]
[Usage]
Set the open door combination.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
CombNo
Combination number. The value ranges from 1 to 10, that is, the device supports a
maximum of 10 open door combinations.
Group1, Group2, Group3, Group4, Group5
Number of the group in the open door combination. Each open door combination
contains five group numbers. Each group number ranges from 1 to 99. For example,
SSR_SetUnLockGroup (1, 1, 2, 23, 14, 0, 56) means that the open is opened only
when members of groups 2, 23, 14, and 56 pass verification.
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
SSR_GetUnLockGroup
5.3.6
5.3.6
5.3.6
5.3.6 SSR_GetUnLockGroup
SSR_GetUnLockGroup
SSR_GetUnLockGroup
SSR_GetUnLockGroup
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL SSR_GetUnLockGroup( [in] LONG dwMachineNumber, [in] LONG CombNo,
[out] LONG* Group1, [out] LONG* Group2, [out] LONG* Group3, [out] LONG* Group4, [out]
LONG* Group5)
[Usage]
[Usage]
[Usage]
[Usage]
Obtain the open door combination by open door combination number.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
CombNo
Combination number. The value ranges from 1 to 10.
Group1, Group2, Group3, Group4, Group5
Specific combinations of specified open door groups, that is, which groups are
contained in a combination. The group number is returned. Each combination
contains a maximum of five groups. Each group number ranges from 1 to 99.
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
SSR_SetUnLockGroup
5.3.7
5.3.7
5.3.7
5.3.7 SSR_SetGroupTZ
SSR_SetGroupTZ
SSR_SetGroupTZ
SSR_SetGroupTZ
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL SSR_SetGroupTZ( [in] LONG dwMachineNumber, [in] LONG GroupNo,
[in] LONG Tz1, [in] LONG Tz2, [in] LONG Tz3, [in] LONG VaildHoliday, [in] LONG VerifyStyle)
[Usage]
[Usage]
[Usage]
[Usage]
Set the Time Zone of a group.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
GroupNo
Group number. The value ranges from 1 to -99.
Tz1, Tz2, Tz3
Time Zone index. Each group can contain three Time Zones.
VaildHoliday
Whether holiday settings are valid
VerifyStyle
Verification mode of a group. Meanings: 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) , 15(FACE), 16(FACE&FP), 17(FACE&PW),
18(FACE&RF), 19(FACE&FP&RF), 20(FACE&FP&PW)
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
SSR_GetGroupTZ
5.3.8
5.3.8
5.3.8
5.3.8 SSR_GetGroupTZ
SSR_GetGroupTZ
SSR_GetGroupTZ
SSR_GetGroupTZ
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL SSR_GetGroupTZ( [in] LONG dwMachineNumber, [in] LONG GroupNo,
[out] LONG* Tz1, [out] LONG* Tz2, [out] LONG* Tz3, LONG* VaildHoliday, LONG*
VerifyStyle)
[Usage]
[Usage]
[Usage]
[Usage]
Obtain the Time Zones of a group.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Number of the fingerprint device
GroupNo
Group number. The value ranges from 1 to 99.
Tz1 , Tz2, Tz3
Indexes of the three Time Zones of a specified combination. Each group number
ranges from 1 to 50.
VaildHoliday
Whether holiday settings are valid.1: valid, 0: invalid
VerifyStyle
Verification mode of the fingerprint device. Values: 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) , 15(FACE), 16(FACE&FP),
17(FACE&PW), 18(FACE&RF), 19(FACE&FP&RF), 20(FACE&FP&PW)
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
SSR_SetGroupTZ
5.3.9
5.3.9
5.3.9
5.3.9 GetUserTZs
GetUserTZs
GetUserTZs
GetUserTZs
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL
GetUserTZs( [in] long dwMachineNumber, [in] long UserID, [out] long
*TZs)
[Usage]
[Usage]
[Usage]
[Usage]
Obtain the Time Zone setting of a user. Each user has three Time Zones. The only
difference between this function and GetUserTZStr is the format of returned Time Zone
index.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
UserID
User ID
TZs
Open door Time Zone of a user. The TZs pointers have three values that store
indexes of three Time Zones respectively. The indexes of three Time Zones can be
obtained by using TZs[0], TZs[1], and TZs[2] respectively.
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
SetUserTZs, SetUserTZStr
5.3.10
5.3.10
5.3.10
5.3.10 SetUserTZs
SetUserTZs
SetUserTZs
SetUserTZs
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL SetUserTZs( [in] long dwMachineNumber, [in] long UserID, [in] long *TZs)
[Usage]
[Usage]
[Usage]
[Usage]
Set the Time Zone of a user. A maximum of three Time Zones can be set for each user. The
difference between this function and SetUserTZStr is the format of imported Time Zone
index.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
UserID
User ID
TZs
Time Zone index. When TZs[ 3 ] is 0 , the group setting is used. When
TZs[ 3 ] is not 0 , a Time Zone number set by the user can be specified.
This parameter is a long pointer. Indexes of three Time Zones can be imported
respectively by TZs[0], TZs[1], and TZs[2].
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
GetUserTZs, GetUserTZStr
5.3.11
5.3.11
5.3.11
5.3.11 GetUserTZStr
GetUserTZStr
GetUserTZStr
GetUserTZStr
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL GetUserTZStr(
[in]
long dwMachineNumber,
[in]
long UserID,
[out] BSTR
*TZs)
[Usage]
[Usage]
[Usage]
[Usage]
Obtain the Time Zones of a user. The only difference between this function and GetUserTZs
is the format of returned Time Zone index.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
UserID
User ID
TZs
Unlock Time Zone of a user. The formats are as follows:
TFT access control devices: X1:X2:X3:X4. X 4 represents whether to use the group
Time Zone. If the value is 0 , the group Time Zone is used; if the value is 1
1
1
1, the
group Time Zone is not used, that is, the personal Time Zone is used. X 1 , X 2 , and X 3
represent the indexes of the used Time Zones. For example, if user A uses
customized Time Zones 1 and 2, the fingerprint device returns "1: 2 : 0:1 ".
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
SetUserTZStr, GetUserTZs
5.3.12
5.3.12
5.3.12
5.3.12 SetUserTZStr
SetUserTZStr
SetUserTZStr
SetUserTZStr
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL SetUserTZStr( [in] long dwMachineNumber, [in] long UserID, [in] BSTR
TZs)
[Usage]
[Usage]
[Usage]
[Usage]
Set the Time Zones of a user. Time Zones are separated by ":". The only difference between
this function and SetUserTZs is the format of imported Time Zone index.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
UserID
User ID
TZs
S ee GetUserTZStr.
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
GetUserTZStr, SetUserTZs
5.3.13
5.3.13
5.3.13
5.3.13 ACUnlock
ACUnlock
ACUnlock
ACUnlock
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL ACUnlock( [in] long dwMachineNumber, [in] long Delay)
[Usage]
[Usage]
[Usage]
[Usage]
Open the door, enable the open door controller to output a unlock signal, and close the door
after 10-second delay.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
Delay
Open door delay
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
None
5.3.14
5.3.14
5.3.14
5.3.14 GetACFun
GetACFun
GetACFun
GetACFun
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL GetACFun( [out] long* ACFun)
[Usage]
[Usage]
[Usage]
[Usage]
Obtain whether the device has the access control function.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
ACFun
Flag of the access control function of the device. 0: no access control, 15: access
control available
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
None
5.3.15
5.3.15
5.3.15
5.3.15 GetDoorState
GetDoorState
GetDoorState
GetDoorState
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL GetDoorState( [in] LONG MachineNumber, [out] LONG* State)
[Usage]
[Usage]
[Usage]
[Usage]
Obtain the current door state. 1: opened, 0: closed . It is Deprecated, please refer to OnDoor Event.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
MachineNumber
Device number
State
Door state
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
None
5.3.16
5.3.16
5.3.16
5.3.16 UseGroupTimeZone
UseGroupTimeZone
UseGroupTimeZone
UseGroupTimeZone
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL UseGroupTimeZone(void)
[Usage]
[Usage]
[Usage]
[Usage]
Determine whether a user uses the group Time Zone setting. This function must be used
together with GetUserTZs or GetUserTZStr to ensure the correct return values. That is, use
GetUserTZs or GetUserTZStr to obtain the Time Zone settings of the specified user, and
then use UseGroupTimeZone to determine whether the user uses the group Time Zone
setting.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
None
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if the group Time Zone is used, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
GetUserTZs, GetUserTZStr
5.4
5.4
5.4
5.4 Device
Device
Device
Device Management
Management
Management
Management Functions
Functions
Functions
Functions
5.4.1
5.4.1
5.4.1
5.4.1 IsTFTMachine
IsTFTMachine
IsTFTMachine
IsTFTMachine
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL IsTFTMachine([in] LONG dwMachineNumber)
[Usage]
[Usage]
[Usage]
[Usage]
Determine whether the current device is a TFT device.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if the current device is a TFT device. Return False if the current device is a
black & white device.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
None
5.4.2
5.4.2
5.4.2
5.4.2 GetDeviceStatus
GetDeviceStatus
GetDeviceStatus
GetDeviceStatus
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL GetDeviceStatus( [in] long dwMachineNumber, [in] long dwStatus, [out]
long* dwValue)
[Usage]
[Usage]
[Usage]
[Usage]
Obtain the data storage status of the device, for example, number of administrators and
number of current users.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
dwStatus
Data to be obtained. The value ranges from 1 to 22. Values:
1
2
3
4
5
6
7
Number of administrators
Number of registered users
Number of fingerprint templates in the device
Number of passwords
Number of operation records
Number of attendance records
Fingerprint template capacity
8
9
User capacity
Attendance record capacity
10 Residual fingerprint template capacity
11 Residual user capacity
12 Residual attendance record capacity
21 Number of faces
22 Face capacity
Returned 0 in other cases.
dwValue
Value of dwStatus
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
None
5.4.3
5.4.3
5.4.3
5.4.3 GetDeviceInfo
GetDeviceInfo
GetDeviceInfo
GetDeviceInfo
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL GetDeviceInfo( [in] long dwMachineNumber, [in] long dwInfo, [out] long*
dwValue)
[Usage]
[Usage]
[Usage]
[Usage]
Obtain related information of the device, such as language and baud rate.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
dwInfo
Type of the information to be obtained. The value ranges from 1 to 68 (except for 65).
Values:
1
2
3
Maximum number of administrators. Generally, return 500.
Device number
Language
The return values received by dwValue are as follows:
0
1
2
3
Language with suffix "E", usually representing English
Others
Language with suffix "T", usually representing traditional Chinese
Language with suffix "L", usually representing Thai language
4
5
6
7
8
9
Idle duration (minutes). That is, the device enters standby state or is powered off
after keeping idle for a period specified by this value.
Lock duration, namely, driver lock duration
Number of attendance record alarms. That is, the device reports an alarm when
the number of attendance records reaches this value.
Number of operation record alarms. That is, the device reports an alarm when
the number of operation records reaches this value.
Repeated record time, that is, the minimum interval of opening the same
attendance record by the same user
Baud rate in RS232/RS485 communication
The return values received by dwValue are as follows:
0
1
2
3
4
5
6
1200bps
2400
4800
9600
19200
38400
57600
Others: 115200
10
11
12
13
14
15
16
17
18
19
20
21
22
Parity check. Generally, return 0.
Stop bit. Generally, return 0.
Date separator. Generally, return 1.
Whether network function is enabled. Values: 1: enabled, 0: disabled
Whether RS232 is enabled
Whether RS485 is enabled
Whether voice function is supported
Whether high-speed comparison is performed
Idle mode, that is, the state that the device enters after idle period. Values: 87:
power-off, 88: hibernate
Automatic power-off time point. The default value is 255, that is, the device does
not power off automatically.
Automatic power-on time point. The default value is 255, that is, the device does
not power on automatically.
Automatic hibernation time point. The default value is 255, that is, the device
does not hibernate automatically.
Automatic ring time point. The default value is 65535, that is, the device does
not ring automatically.
23
24
25
26
27
82
29
1:N match threshold
Match threshold during registration
1:1 match threshold
Whether to display match score during verification
Number of concurrent unlock users
Verify only card number
Network speed
The return values received by dwValue are as follows:
1
4
5
8
100M-H
10M-F
100M-F
AUTO
Others: 10M-H
30
31
32
33
34
35
Whether the card must be registered
Waiting time before the device automatically returns when there is temporarily
no operation
Waiting time before the device automatically returns when no response is
returned after the PIN is input
Waiting time before the device automatically returns when there is response
after entering the menu
Time format
Whether 1:1 match must be used
36 40 Automatic ring time points 2, 3, 4, 5, and 6. The default values are 65535
65535
65535
65535 ,
that is, the device does not ring automatically.
41 56 Automatic state change time points 1 to 16. The default values are -1
-1
-1
-1 , that is,
the device does not change state automatically.
57
58
59
60
61
62
63
64
66
Wiegand failure ID
Wiegand threaten ID
Wiegand region-position code
Wiegand output pulse width
Wiegand output pulse interval
Start sector of Mifare card for storing fingerprints
Total sectors of Mifare card for storing fingerprints
Number of fingerprints stored on Mifare card
Whether to display attendance state
67,68 Not supported
8999 In this case, dwValue is used as both input and output parameters. As the
input parameter, dwValue represent the name of another option to be obtained.
As the output parameter, dwValue represents the value of the option (in this
case, dwValue is similar to GetSysOption).
Note: The return values of the preceding time points are numerals. To convert the
numeral into the time point, convert the value into a binary numeral where the lowest
eight bits represent minute and the highest bits represent hour. For example, if the
return value is 2860, it can be converted into 101100101100 in binary, of which the
lowest eight bits 00101100 (that is, 44) and the highest eight bits are 00001011 (that
is, 11), that is, the actual time point is 11:44.
dwValue
Value described by dwInfo
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
SetDeviceInfo
5.4.4
5.4.4
5.4.4
5.4.4 SetDeviceInfo
SetDeviceInfo
SetDeviceInfo
SetDeviceInfo
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL
SetDeviceInfo( [in] long dwMachineNumber, [in] long dwInfo, [in] long
dwValue)
[Usage]
[Usage]
[Usage]
[Usage]
Set the related information of the device, such as language and repeated record time.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
dwInfo
Type of the information to be set. The value ranges from 1 to 20. For the meanings of
values, see GetDeviceInfo.
dwValue
Value of the information described by dwInfo
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
GetDeviceInfo
5.4.5
5.4.5
5.4.5
5.4.5 SetDeviceTime
SetDeviceTime
SetDeviceTime
SetDeviceTime
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL SetDeviceTime( [in] long dwMachineNumber)
[Usage]
[Usage]
[Usage]
[Usage]
Set the local computer time to the device time. To set the specified time, see
SetDeviceTime2.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
SetDeviceTime2, GetDeviceTime
5.4.6
5.4.6
5.4.6
5.4.6 SetDeviceTime2
SetDeviceTime2
SetDeviceTime2
SetDeviceTime2
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL SetDeviceTime2( [in] LONG dwMachineNumber, [in] LONG dwYear, [in]
LONG dwMonth, [in] LONG dwDay, [in] LONG dwHour, [in] LONG dwMinute, [in] LONG
dwSecond)
[Usage]
[Usage]
[Usage]
[Usage]
Set the device time (or specify the time).
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
dwYear, dwMonth, dwDay, dwHour, dwMinute, dwSecond
Date and time to be set
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
SetDeviceTime, GetDeviceTime
5.4.7
5.4.7
5.4.7
5.4.7 GetDeviceTime
GetDeviceTime
GetDeviceTime
GetDeviceTime
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL GetDeviceTime( [in] long dwMachineNumber, [out] long* dwYear, [out]
long* dwMonth, [out] long* dwDay, [out] long* dwHour, [out] long* dwMinute, [out] long*
dwSecond)
[Usage]
[Usage]
[Usage]
[Usage]
Obtain the device time.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
dwYear, dwMonth, dwDay, dwHour, dwMinute, dwSecond
Long pointers pointing to variables. The values are the date and time of the device.
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
SetDeviceTime, SetDeviceTime2
5.4.8
5.4.8
5.4.8
5.4.8 GetSerialNumber
GetSerialNumber
GetSerialNumber
GetSerialNumber
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL
GetSerialNumber(
[in]
long
dwMachineNumber,
[out]
BSTR*
dwSerialNumber)
[Usage]
[Usage]
[Usage]
[Usage]
Obtain the serial number of the device.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
dwSerialNumber
Serial number
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
None
5.4.9
5.4.9
5.4.9
5.4.9 GetProductCode
GetProductCode
GetProductCode
GetProductCode
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL
GetProductCode( [in] long
dwMachineNumber,
[out] BSTR*
lpszProductCode)
[Usage]
[Usage]
[Usage]
[Usage]
Obtain device name.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
lpszProductCode
Device name
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
None
5.4.10
5.4.10
5.4.10
5.4.10 GetFirmwareVersion
GetFirmwareVersion
GetFirmwareVersion
GetFirmwareVersion
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL GetFirmwareVersion( [in] long dwMachineNumber, [out] BSTR* strVersion)
[Usage]
[Usage]
[Usage]
[Usage]
Obtain the firmware version of the device.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
strVersion
Firmware version
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
None
5.4.11
5.4.11
5.4.11
5.4.11 GetSDKVersion
GetSDKVersion
GetSDKVersion
GetSDKVersion
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL GetSDKVersion( [out] BSTR* strVersion)
[Usage]
[Usage]
[Usage]
[Usage]
Obtain the SDK version.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
strVersion
SDK version
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
None
5.4.12
5.4.12
5.4.12
5.4.12 GetDeviceIP
GetDeviceIP
GetDeviceIP
GetDeviceIP
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL GetDeviceIP( [in] long dwMachineNumber, [out] BSTR *IPAddr)
[Usage]
[Usage]
[Usage]
[Usage]
Obtain the IP address of the device.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
IPAddr
IP address
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
SetDeviceIP
5.4.13
5.4.13
5.4.13
5.4.13 SetDeviceIP
SetDeviceIP
SetDeviceIP
SetDeviceIP
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL SetDeviceIP( [in] long dwMachineNumber, [in] BSTR IPAddr)
[Usage]
[Usage]
[Usage]
[Usage]
Set the IP address of the device.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
IPAddr
IP address
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
GetDeviceIP
5.4.14
5.4.14
5.4.14
5.4.14 GetDeviceMAC
GetDeviceMAC
GetDeviceMAC
GetDeviceMAC
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL GetDeviceMAC( [in] LONG dwMachineNumber, [out] BSTR *sMAC)
[Usage]
[Usage]
[Usage]
[Usage]
Obtain the MAC address of the device.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
sMAC
MAC address
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
SetDeviceMAC
5.4.15
5.4.15
5.4.15
5.4.15 SetDeviceMAC
SetDeviceMAC
SetDeviceMAC
SetDeviceMAC
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL SetDeviceMAC( [in] LONG dwMachineNumber, [in] BSTR sMAC)
[Usage]
[Usage]
[Usage]
[Usage]
Set the MAC address of the device.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
sMAC
MAC address
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
GetDeviceMAC
5.4.16
5.4.16
5.4.16
5.4.16 GetWiegandFmt
GetWiegandFmt
GetWiegandFmt
GetWiegandFmt
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL GetWiegandFmt(
[in] LONG
dwMachineNumber,
[out] BSTR
*sWiegandFmt)
[Usage]
[Usage]
[Usage]
[Usage]
Obtain Wiegand format of the device.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
sWiegandFmt
Wiegand format
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
SetWiegandFmt
5.4.17
5.4.17
5.4.17
5.4.17 SetWiegandFmt
SetWiegandFmt
SetWiegandFmt
SetWiegandFmt
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL SetWiegandFmt( [in] LONG dwMachineNumber, [in] BSTR sWiegandFmt)
[Usage]
[Usage]
[Usage]
[Usage]
Set Wiegand format of the device.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
sWiegandFmt
Wiegand format
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
GetWiegandFmt
5.4.18
5.4.18
5.4.18
5.4.18 GetCardFun
GetCardFun
GetCardFun
GetCardFun
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL GetCardFun( [in] LONG dwMachineNumber, [in] LONG* CardFun)
[Usage]
[Usage]
[Usage]
[Usage]
Obtain whether the device supports the RF card.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
CardFun
Values: 1: The device supports only RF card verification. 2: The device supports both
RF card verification and fingerprint verification. 0: The device does not support RF
card verification.
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
None
5.4.19
5.4.19
5.4.19
5.4.19 SetDeviceCommPwd
SetDeviceCommPwd
SetDeviceCommPwd
SetDeviceCommPwd
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL SetDeviceCommPwd(
[in]
LONG
dwMachineNumber, [in] LONG
CommKey)
[Usage]
[Usage]
[Usage]
[Usage]
Set the communication password of the device. The communication password is stored in
the device.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
CommKey
Communication password
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
SetCommPassword
5.4.20
5.4.20
5.4.20
5.4.20 SetCommPassword
SetCommPassword
SetCommPassword
SetCommPassword
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL SetCommPassword( [in] long CommKey)
[Usage]
[Usage]
[Usage]
[Usage]
Set the communication password of the PC. A connection can be set up only when the PC
and the device use the same communication password.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
CommKey
Communication password
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
SetDeviceCommPwd
5.4.21
5.4.21
5.4.21
5.4.21 QueryState
QueryState
QueryState
QueryState
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL QueryState( [out] LONG *State)
[Usage]
[Usage]
[Usage]
[Usage]
Query the current state of the device.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
State
Current state of the device. Values are as follows:
0 Waiting
1
2
3
4
5
Registering a fingerprint
Identifying a fingerprint
Accessing menu
Busy (doing other tasks)
Waiting for writing data into card
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
None
5.4.22
5.4.22
5.4.22
5.4.22 GetVendor
GetVendor
GetVendor
GetVendor
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL GetVendor( [in] BSTR* strVendor)
[Usage]
[Usage]
[Usage]
[Usage]
Obtain the vendor name of the device.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
strVendor
Vendor name of the device
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
None
5.4.23
5.4.23
5.4.23
5.4.23 GetDeviceStrInfo
GetDeviceStrInfo
GetDeviceStrInfo
GetDeviceStrInfo
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL GetDeviceStrInfo( [in] LONG dwMachineNumber, [in] LONG dwInfo, [out]
BSTR* Value)
[Usage]
[Usage]
[Usage]
[Usage]
Obtain the manufacturing time of the device.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
dwInfo
This parameter can be set to 1 only.
Value
Manufacturing time of the device
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
GetDeviceInfo
5.4.24
5.4.24
5.4.24
5.4.24 GetPlatform
GetPlatform
GetPlatform
GetPlatform
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL GetPlatform( [in] LONG dwMachineNumber, [out] BSTR* Platform)
[Usage]
[Usage]
[Usage]
[Usage]
Obtain the platform name of the device.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
Platform
Platform name
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
None
5.4.25
5.4.25
5.4.25
5.4.25 ReadAOptions
ReadAOptions
ReadAOptions
ReadAOptions
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL ReadAOptions( [in] BSTR AOption, [out] BSTR* AValue)
[Usage]
[Usage]
[Usage]
[Usage]
Read the values of specified configuration parameters from the device. The parameters
beginning with "~" are skipped.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
Aoption
Parameter name
Avalue
Value of the parameter described by Aoption
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
GetSysOption
5.4.26
5.4.26
5.4.26
5.4.26 GetSysOption
GetSysOption
GetSysOption
GetSysOption
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL
GetSysOption( [in] LONG dwMachineNumber, [in] BSTR Option, [out]
BSTR* Value)
[Usage]
[Usage]
[Usage]
[Usage]
Obtain the parameters from the device. Note: This function can be used to obtain the
algorithm version used by the device.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
Option
Parameter name.
Value
Value of the parameter described by Option
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
SetSysOption
5.4.27
5.4.27
5.4.27
5.4.27 SetSysOption
SetSysOption
SetSysOption
SetSysOption
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL
SetSysOption( [in] LONG dwMachineNumber, [in] BSTR Option, [in]
BSTR Value)
[Usage]
[Usage]
[Usage]
[Usage]
Configure the parameters in the device.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
Option
Name of the parameter to be set
Value
Value of the parameter described by Option
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
GetSysOption
5.5
5.5
5.5
5.5 Others
Others
Others
Others
5.5.1
5.5.1
5.5.1
5.5.1 Device
Device
Device
Device Control
Control
Control
Control Functions
Functions
Functions
Functions
5.5.1.1
5.5.1.1
5.5.1.1
5.5.1.1 ClearAdministrators
ClearAdministrators
ClearAdministrators
ClearAdministrators
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL ClearAdministrators([in] long dwMachineNumber)
[Usage]
[Usage]
[Usage]
[Usage]
Clear all administrator privileges from the device.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
None
5.5.1.2
5.5.1.2
5.5.1.2
5.5.1.2 EnableDevice
EnableDevice
EnableDevice
EnableDevice
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL EnableDevice( [in] long dwMachineNumber, [in] VARIANT_BOOL bFlag)
[Usage]
[Usage]
[Usage]
[Usage]
Enable or disable the device. If the device is disabled, the fingerprint sensor, keypad, card
modules, etc. are disabled.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
bFlag
User enable flag. 1: Enabled. 0: Disabled.
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
None
5.5.1.3
5.5.1.3
5.5.1.3
5.5.1.3 EnableClock
EnableClock
EnableClock
EnableClock
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL EnableClock( [in] LONG Enabled)
[Usage]
[Usage]
[Usage]
[Usage]
Enable or disable the clock display with colon ":". If enabled, the device clock is displayed
with a colon and synchronized to the main interface. If disabled, the clock is displayed
without a colon.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
Enabled
Display control. 1: Enabled. 0: Disabled.
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
None
5.5.1.4
5.5.1.4
5.5.1.4
5.5.1.4 DisableDeviceWithTimeOut
DisableDeviceWithTimeOut
DisableDeviceWithTimeOut
DisableDeviceWithTimeOut
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL DisableDeviceWithTimeOut( [in] LONG dwMachineNumber, [in] LONG
TimeOutSec)
[Usage]
[Usage]
[Usage]
[Usage]
Disable the device for a period of time.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
TimeOutSec
Duration of disabling the device
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
EnableDevice
5.5.1.5
5.5.1.5
5.5.1.5
5.5.1.5 PowerOffDevice
PowerOffDevice
PowerOffDevice
PowerOffDevice
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL PowerOffDevice( [in] long dwMachineNumber)
[Usage]
[Usage]
[Usage]
[Usage]
Power off the device.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
None
5.5.1.6
5.5.1.6
5.5.1.6
5.5.1.6 RestartDevice
RestartDevice
RestartDevice
RestartDevice
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL RestartDevice( [in] LONG dwMachineNumber)
[Usage]
[Usage]
[Usage]
[Usage]
Restart the device.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
PowerOffDevice
5.5.1.7
5.5.1.7
5.5.1.7
5.5.1.7 SleepDevice
SleepDevice
SleepDevice
SleepDevice
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL SleepDevice( [in] long dwMachineNumber)
[Usage]
[Usage]
[Usage]
[Usage]
Enable the device to enter hibernation mode.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
RestartDevice, PowerOffDevice, ResumeDevice, SuspendDevice
5.5.2
5.5.2
5.5.2
5.5.2 Card
Card
Card
Card Operation
Operation
Operation
Operation Functions
Functions
Functions
Functions
5.5.2.1
5.5.2.1
5.5.2.1
5.5.2.1 WriteCard
WriteCard
WriteCard
WriteCard
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL 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,)
[Usage]
[Usage]
[Usage]
[Usage]
Write the information and fingerprint template of a specified user into the MF card. After this
function is called, the MF card must be verified by the device.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
dwEnrollNumber
User ID
dwFingerIndex1, dwFingerIndex2, dwFingerIndex3, dwFingerIndex4
Index of fingerprint (0-3)
TmpData1, TmpData2, TmpData3, TmpData4
Fingerprint templates corresponding to fingerprints. TmpData1 cannot be null.
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
EmptyCard
5.5.2.2
5.5.2.2
5.5.2.2
5.5.2.2 EmptyCard
EmptyCard
EmptyCard
EmptyCard
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL EmptyCard( [in] LONG dwMachineNumber)
[Usage]
[Usage]
[Usage]
[Usage]
Clear the data from the MF card.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
WriteCard
5.5.3
5.5.3
5.5.3
5.5.3 Others
Others
Others
Others
5.5.3.1
5.5.3.1
5.5.3.1
5.5.3.1 GetLastError
GetLastError
GetLastError
GetLastError
[Definition]
[Definition]
[Definition]
[Definition]
GetLastError( [out] long* dwErrorCode)
[Usage]
[Usage]
[Usage]
[Usage]
Obtain the last error information.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwErrorCode
Error code returned. Values are as follows:
-100
-10
-5
-4
-3
-2
-1
0
1
4
101
Operation failed or data not exist
Transmitted data length is incorrect
Data already exists
Space is not enough
Error size
Error in file read/write
SDK is not initialized and needs to be reconnected
Data not found or data repeated
Operation is correct
Parameter is incorrect
Error in allocating buffer
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
None
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
Return True if it is successful, or return False.
5.5.3.2
5.5.3.2
5.5.3.2
5.5.3.2 GetHIDEventCardNumAsStr
GetHIDEventCardNumAsStr
GetHIDEventCardNumAsStr
GetHIDEventCardNumAsStr
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL GetHIDEventCardNumAsStr([out] BSTR* strHIDEventCardNum)
[Usage]
[Usage]
[Usage]
[Usage]
Obtain the number of the card that is latest used.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
strHIDEventCardNum
Number of the card lately used
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
OnHIDNum
5.5.3.3
5.5.3.3
5.5.3.3
5.5.3.3 CaptureImage
CaptureImage
CaptureImage
CaptureImage
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL
CaptureImage( [in] VARIANT_BOOL FullImage, [in] LONG *Width, [in]
LONG *Height, [in] BYTE *Image, [in] BSTR ImageFile)
[Usage]
[Usage]
[Usage]
[Usage]
Capture the image of the fingerprint on the fingerprint sensor.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
FullImage
Whether to capture the entire image. Return True if the device captures the whole
image. Return False if the device captures only the fingerprint.
Width
Width of the image to be captured
Height
Height of the image to be captured
Image
Binary fingerprint image
ImageFile
Storage name of the specified fingerprint image to be captured (including the storage
path)
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
None
5.5.3.4
5.5.3.4
5.5.3.4
5.5.3.4 UpdateFirmware
UpdateFirmware
UpdateFirmware
UpdateFirmware
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL UpdateFirmware( [in] BSTR FirmwareFile)
[Usage]
[Usage]
[Usage]
[Usage]
Upgrade the firmware. To use this function, you need to obtain corresponding firmware from
technical engineers of ZKSoftware.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
FirmwareFile
File name of the firmware to be upgraded (including the path)
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
None
5.5.3.5
5.5.3.5
5.5.3.5
5.5.3.5 BeginBatchUpdate
BeginBatchUpdate
BeginBatchUpdate
BeginBatchUpdate
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL
BeginBatchUpdate(
[in]
LONG
dwMachineNumber,
[in] LONG
UpdateFlagl)
[Usage]
[Usage]
[Usage]
[Usage]
Start uploading data in batches. For example, if you call this function before uploading data
such as user templates and user information, the SDK stores the data temporarily in the
buffer during upload. Then, you can run BatchUpdate to import temporary data into the
device.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
UpdateFlagl
Fingerprint overwrite flag, that is, when a user fingerprint template is uploaded, if the
fingerprint index has been specified for an existing fingerprint, the device prompts
whether to overwrite the existing fingerprint template. 1: Forcibly overwrite, 0: Not
overwrite
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
BatchUpdate, CancelBatchUpdate
5.5.3.6
5.5.3.6
5.5.3.6
5.5.3.6 BatchUpdate
BatchUpdate
BatchUpdate
BatchUpdate
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL BatchUpdate( [in] LONG dwMachineNumber)
[Usage]
[Usage]
[Usage]
[Usage]
Start uploading data in
batches.
Generally,
this
function is
used
only
after
BeginBatchUpdate is used to upload related data.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
BeginBatchUpdate, CancelBatchUpdate
5.5.3.7
5.5.3.7
5.5.3.7
5.5.3.7 CancelBatchUpdate
CancelBatchUpdate
CancelBatchUpdate
CancelBatchUpdate
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL CancelBatchUpdate( [in] LONG dwMachineNumber)
[Usage]
[Usage]
[Usage]
[Usage]
Cancel uploading data in batches. Generally, this function can be used to release the buffer
reserved for batch upload after BeginBatchUpdate and before BatchUpdate.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
dwMachineNumber
Device number
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
BeginBatchUpdate, BatchUpdate
5.5.3.8
5.5.3.8
5.5.3.8
5.5.3.8 PlayVoice
PlayVoice
PlayVoice
PlayVoice
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL PlayVoice( [in] LONG Position, [in] LONG Length)
[Usage]
[Usage]
[Usage]
[Usage]
Play tones with the specified consecutive numbers. Tone numbers are determined by the
device. You can view the tone numbers in Voice Test menu of the device. Generally, the
values range from 0 to 11.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
Position
Start tone number
Length
End tone number
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
PlayVoiceByIndex
5.5.3.9
5.5.3.9
5.5.3.9
5.5.3.9 PlayVoiceByIndex
PlayVoiceByIndex
PlayVoiceByIndex
PlayVoiceByIndex
[Definition]
[Definition]
[Definition]
[Definition]
VARIANT_BOOL PlayVoiceByIndex( [in] LONG Index)
[Usage]
[Usage]
[Usage]
[Usage]
Play tones with the specified numbers. Tone numbers are determined by the device. You
can view the tone numbers in Voice Test menu of the device. Generally, the values range
from 0 to 11.
[Parameter]
[Parameter]
[Parameter]
[Parameter]
Index
Number of the tone to be played
[Return
[Return
[Return
[Return Value]
Value]
Value]
Value]
Return True if it is successful, or return False.
[Related
[Related
[Related
[Related Function]
Function]
Function]
Function]
PlayVoice
6
6
6
6 FAQs
FAQs
FAQs
FAQs
6.1
6.1
6.1
6.1 How
How
How
How to
to
to
to Download
Download
Download
Download Attendance
Attendance
Attendance
Attendance Records?
Records?
Records?
Records?
First, use ReadGeneralLogData to read all attendance records and write them into the memory.
Then, use
GetGeneralLogData
repeatedly
to
obtain attendance
records. When
GetGeneralLogData returns False, it means that all attendance records are obtained. Then, you
can write the obtained records into database or display them in other forms to finish downloading.
You can follow the same steps to down operation records.
6.2
6.2
6.2
6.2 How
How
How
How to
to
to
to Create
Create
Create
Create a
a
a
a User
User
User
User Online?
Online?
Online?
Online?
First, use SetuserInfo to write user information (such as enrollment number, password, and
name) into the device. Then, use SetUserTmpStr/SetUerTmp/SetEnrollDataStr/SetEnrollData to
set fingerprint templates for the user. This method improves enrollment efficiency and is suitable
when user information has been collected and stored in media such as database.
To upload user information and corresponding fingerprint templates in batches, use
BeginBatchUpdata or SetUserInfo together with SetUserInfo, BarchUpdata, EnableDevice, or
RefreshData. For details, see demo program.
6.3
6.3
6.3
6.3 How
How
How
How to
to
to
to Import
Import
Import
Import or
or
or
or Download
Download
Download
Download Data
Data
Data
Data from
from
from
from USB
USB
USB
USB Disk?
Disk?
Disk?
Disk?
Many existing offline products support data download from USB disks. Many customers are
concerned about data formats of USB disks. As the downloaded data formats are complex,
ZKSoftware provides a tool for importing data from USB disks to database. Database is open for
customers to download data. In addition, ZKSoftware also provides examples on how to process
data files (*.dat, etc.) collected from USB disks and how to write the data into specified data files.
All structs adopt 1 byte alignment mode.
Data in USB disks include user information, fingerprint templates, face templates, attendance
records, and short messages. Detailed data structures are used in demo program. They are
described briefly below:
User data structure:
typedef struct _User_{
U16 PIN; //Internal number of a user
U8 Privilege;
char Password[8];
char Name[24];
U8 Card[4];
U8 Group;
U16 TimeZones[4];
char PIN2[24]; //User ID
}
Data structure of template.fp10:
typedef struct _Template_{
U16 Size;
U16 PIN;
BYTE FingerID;
BYTE Valid;
BYTE *Template; //template
}
Attendance record,
struct _AttLog_{
U16 PIN;
U8 PIN2[24];
BYTE verified;
time_t time_second;
BYTE status;
U32 workcode;
BYTE reserved[4];
}
Exported as a text file:
//entire structure data size
//user ID
//fingerprint index
//flag
attlog.dat format
explanation:
segment:
BadgeNumber(employee number),
checktime,
DeviceID,
checktype(check status),
VerifyCode(verification ways:password or fingerprint or other)
Workcode
There is an Ascii code #9(Tab) between each segment. When development, move to the
segment value you want to choose by "Tab".
If the device has the output data protection function, the serial number of the current device is
displayed in first line and the hash value in the last line of the file to which attendance records are
exported from USB disk.
Data structure of SMS
typedef struct _SMS_{
BYTE Tag;
U16 ID;
//category
//data content flag. 0 indicates that the record is invalid.
U16 ValidMinutes;
U16 Reserved;
U32 StartTime;
//valid minutes. 0 indicates that the record is permanently valid.
//start time
BYTE Content[MAX_SMS_CONTENT_SIZE+1];
//short message content
}
// MAX_SMS_CONTENT_SIZE
60 Bytes
Data structure between SMS and user pin//user->sms,udata.dat
typedef struct _UData_{
U16 PIN; //0 indicates that the record is invalid
U16 SmsID;
}GCC_PACKED TUData, *PUData; //4Bytes
Data structure of face template:
typedef struct _FaceTmp_{
U16 Size;//face template size
U16 PIN;//user ID
BYTE FaceID;//Face ID
BYTE Valid;//flag
U16 Reserve;//reserve
U32 ActiveTime;
U32 VfCount;//Verify Count
BYTE FaceTmp[FACE_TMP_MAXSIZE]
} //FACE_TMP_MAXSIZE=1024*2+512
6.4
6.4
6.4
6.4 How
How
How
How to
to
to
to Use
Use
Use
Use Biokey
Biokey
Biokey
Biokey to
to
to
to Write
Write
Write
Write the
the
the
the Collected
Collected
Collected
Collected Fingerprint
Fingerprint
Fingerprint
Fingerprint Templates
Templates
Templates
Templates
Offline?
Offline?
Offline?
Offline?
When a fingerprint is collected, Biokey usually obtains the fingerprint template during enrollment.
For example, the currently enrolled fingerprint template can be obtained via OnEnroll. After
obtaining the fingerprint template, Biokey converts it into an Standalone fingerprint template.
Then, the template can be written into the device.
6.5
6.5
6.5
6.5 How
How
How
How to
to
to
to Obtain
Obtain
Obtain
Obtain All
All
All
All Information
Information
Information
Information of
of
of
of All
All
All
All Users?
Users?
Users?
Users?
Use ReadAllUserID to read IDs of all users and write them into memory. Then, use GetAllUserID
repeatedly to obtain EnrollNumber of users, and use GetUserInfo to obtain user information. If
necessary, you can also use GetUserTmpStr to obtain the fingerprint templates in string form.
6.6
6.6
6.6
6.6 How
How
How
How to
to
to
to Connect
Connect
Connect
Connect to
to
to
to the
the
the
the Device?
Device?
Device?
Device?
During connection, the device can be regarded as an independent PC. However, the IP address
of the device must match the IP address to be connected. Some devices, for example F4,
support serial port connection and network connection. Therefore, during different connections,
you need to set the device differently, modify communication mode, and set the controller switch
to TCP/IP or RS232/485. Otherwise, the connection may fail. Sometimes, if the device fails to be
connected due to busy serial ports, you can restart the program. If the application keeps
connecting
to the device
without
being manually disconnected,
you can use
DisableDeviceWithTimeOut to set the automatic disconnection time of the device. If some
connections are used to download or modify data via serial ports or network, you can use
EnableDevice to keep the device working and restore the connections after communication
finishes, so as to maintain data consistency and avoid unknown errors.
6.7
6.7
6.7
6.7 Password
Password
Password
Password Is
Is
Is
Is Invalid
Invalid
Invalid
Invalid After
After
After
After SSR_SetUserInfo
SSR_SetUserInfo
SSR_SetUserInfo
SSR_SetUserInfo Is
Is
Is
Is Used.
Used.
Used.
Used.
After SetUserInfo is called, Password may be set to null. If so, password verification will fail. To
keep the password unchanged when writing user information, use GetUserInfo to obtain user
password and transmit the password value to the Password parameter of SetUserInfo before
using SetUserInfo.
6.8
6.8
6.8
6.8 How
How
How
How to
to
to
to Convert
Convert
Convert
Convert an
an
an
an Online
Online
Online
Online Template
Template
Template
Template into
into
into
into an
an
an
an Offline
Offline
Offline
Offline Template?
Template?
Template?
Template?
Use FPTempConvertNew to convert the collected templates into Standalone fingerprint
templates. See related descriptions of Biokey SDK for how to obtain the templates collected by
Biokey. FPTempConvertNew is used to convert binary fingerprint templates. Parameters temp1
and temp2 are binary parameters. You can also use FPTempConvertNewStr to convert Biokey
fingerprint templates of string type into Standalone fingerprint templates.
6.9
6.9
6.9
6.9 Demo
Demo
Demo
Demo Program
Program
Program
Program Fails
Fails
Fails
Fails to
to
to
to Connect
Connect
Connect
Connect to
to
to
to the
the
the
the Device.
Device.
Device.
Device.
After the attendance management program is installed, users can connect to the device by using
the attendance management program, but cannot connect to the device by using demo program.
The reason is that DLL is copied to the directory of the attendance management program but
registered in the installation directory during program installation. Generally, SDK loads controls
from the system directory. Therefore, if the SDK version in the system directory is different from
that in the attendance software directory, conflicts occur. (DLL function addresses of different
versions are different, but OCX functions are the same in programming. Therefore, the problem
is found only during runtime.)
Caution: The common procedure for registering the SDK in the system is as follows:
1. If an SDK has been already registered in the system, run regsvr32
regsvr32
regsvr32
regsvr32 /u
/u
/u
/u zkemkeeper.dll
zkemkeeper.dll
zkemkeeper.dll
zkemkeeper.dll to
unregister the original SDK.
2. Copy all DLLs to the system directory, for example, win2000 is located in winnt\system32.
3. Run regsvr32 "registration path\zkemkeeper.dll" to register the SDK.
4. Correctly load controls in development environment (learn the usage of development tool by
yourself. Relevant details are omitted here).
5. Try to use the SDK of the same version in development or running environment.
6.10
6.10
6.10
6.10 Standalone
Standalone
Standalone
Standalone fingerprint
fingerprint
fingerprint
fingerprint Device
Device
Device
Device Keeps
Keeps
Keeps
Keeps Working
Working
Working
Working After
After
After
After Being
Being
Being
Being
Connected.
Connected.
Connected.
Connected.
After connecting the SDK to the Standalone fingerprint device, use EnableDevice to keep the
Standalone fingerprint device working (see EnableDevice), so as to maintain data consistency
and avoid unknown errors. After the Standalone fingerprint device is working, the keypad and
fingerprint sensor stop working. After communication finishes, disconnect the SDK from the
device or use EnableDevice again to restore the Standalone fingerprint device to normal state.
DisableDeviceWithTimeOut is recommended.
6.11
6.11
6.11
6.11 Illegal
Illegal
Illegal
Illegal Characters
Characters
Characters
Characters Are
Are
Are
Are Displayed
Displayed
Displayed
Displayed or
or
or
or Screen
Screen
Screen
Screen Display
Display
Display
Display Is
Is
Is
Is
Abnormal
Abnormal
Abnormal
Abnormal After
After
After
After Non-English
Non-English
Non-English
Non-English Names
Names
Names
Names or
or
or
or Short
Short
Short
Short Messages
Messages
Messages
Messages Are
Are
Are
Are
Uploaded
Uploaded
Uploaded
Uploaded to
to
to
to the
the
the
the Device.
Device.
Device.
Device.
First, check whether the device supports the specified language. For example, if the current
language of the device is English, but an Arabic name is uploaded to the device, the name
cannot be displayed normally. If the device already supports the language, but the name still
cannot be displayed, use related functions to convert the user name into UTF-8 format (for
example, use AnsiToUTF8() in Dephi), and then use SetUserInfo to upload the user name.
6.12
6.12
6.12
6.12 Card
Card
Card
Card Management
Management
Management
Management Problems
Problems
Problems
Problems
How to register a card in the device? How to obtain the user card?
The SDK has the cardnumber parameter. If this parameter is invisible in development
environment, use GetStrCardNumber and SetStrCardNumber instead.
For a user enrolled in the device, the card number is a kind of user information. When
SetUserInfo is used to set user information, cardnumber is automatically used as the card
number and set for the user.
The procedure for registering a card is as follows:
Set cardnumber -> Upload user information
The procedure for obtaining the card number of a user is as follows:
Obtain information of the specified user -> Obtain cardnumber
Note: The card number is internally defined as four unsigned bytes of long type. If VB does not
support four unsigned bytes, verification can be started after the last three bytes of the card
number are input (if the last three bytes are different from each other).
6.13
6.13
6.13
6.13 Firewall
Firewall
Firewall
Firewall or
or
or
or Router
Router
Router
Router Traversal
Traversal
Traversal
Traversal
In most cases, the device to be connected needs to traverse firewalls or routers, and UDP socket
and port 4370 are used for SDK communication. Therefore, UDP and port 4370 must be enabled
on firewalls or routers. If the device traverses gateways via port mapping, the device can be
accessed via port number and IP address of routers. Generally, if UDP and port 4370 are
enabled and can be pinged, the device can be connected. Certainly, in the case of data
download, network connection must be considered. In addition, some devices that support
SOAP ports can be accessed via embedded Web Server and SOAP.
6.14
6.14
6.14
6.14 Uploading
Uploading
Uploading
Uploading a
a
a
a Large
Large
Large
Large Capacity
Capacity
Capacity
Capacity of
of
of
of Fingerprints
Fingerprints
Fingerprints
Fingerprints
Large capacity usually means over 1500 fingerprints. Some devices can hold 8000 fingerprints or
more. Fingerprint templates must be uploaded in batches. In this mode, the upload is much
faster. For how to upload fingerprint templates in batches, see descriptions of batch process
function.
6.15
6.15
6.15
6.15 Differences
Differences
Differences
Differences between
between
between
between High-speed
High-speed
High-speed
High-speed Upload
Upload
Upload
Upload and
and
and
and Ordinary
Ordinary
Ordinary
Ordinary Upload
Upload
Upload
Upload
In an ordinary upload, each time upload functions (such as SetUserinfo and SetUserTmpStr) are
used, the SDK communicates with the device and uploads related data to the device.
In a high-speed upload, BeginBatchUpdata is used to create a temporary buffer to store the data
to be uploaded in subsequent operations. Then, BatchUpdata can be used to upload all the data
in the buffer to the device at a time. This mode greatly reduces communications between the
SDK and the device, and raises the speed of large-capacity upload in particular.
6.16
6.16
6.16
6.16 How
How
How
How to
to
to
to Download
Download
Download
Download a
a
a
a Face
Face
Face
Face Template?
Template?
Template?
Template?
1. The transmission mode of face templates is the same as that of ZKFinger10.0 fingerprint
templates.
2. One user has about 15 face templates in different angles. Each template consists of 2576
bytes. The third and fourth bytes of each template indicate the ID, corresponding to the first and
second bytes of user structure. For devices that support face identification, the last 24 bytes of
user structure indicate the user ID. Therefore, the total size of face templates of each user is
about 37 KB. You are not recommended to upload or download data via serial ports. When the
value of dwFaceIndex is 50, all face templates of a user are uploaded or downloaded.
3. To upload and download ZKFace templates, use the following functions:
SetUserFace(LONG dwMachineNumber, BSTR dwEnrollNumber, LONG dwFaceIndex, BYTE*
TmpData, LONG TmpLength, VARIANT_BOOL* pVal);
GetUserFace(LONG dwMachineNumber, BSTR dwEnrollNumber, LONG dwFaceIndex, BYTE*
TmpData, LONG * TmpLength, VARIANT_BOOL* pVal);
DelUserFace (LONG dwMachineNumber, BSTR dwEnrollNumber, LONG dwFaceIndex,
VARIANT_BOOL* pVal);
For details, see description of the functions.

Navigation menu