Anda di halaman 1dari 0

Version 1.

53












FPCaptureExpressLite SDK
Programmers Guide





















2011 Cogent, Inc. All rights reserved.
No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any
means, electronic, mechanical, photocopying, recording, or otherwise, without the prior written permission of Cogent,
Inc.
The information in this document is subject to change without notice. The software mentioned in this document is
furnished under license and may only be used or copied in accordance with the terms of such license. Contact software
manufacturers directly for terms of software licenses for any software mentioned in this document not originating from
Cogent, Inc.
All brand or product names are the trademarks or registered trademarks of their respective holders.
Cogent Document # IG-EXT-AP-897-0.00 (1)

Document Revision History

Version Date Comment
0.1 05/14/2008 Initial version
0.2 05/22/2008 Updated the document
0.3 05/23/2008 Updated the document
0.4 05/23/2008 Updated the document
1.0 05/28/2008 Updated the document
1.1 06/04/2008 Updated the document
1.2 06/05/2008 Updated the document
1.3 01/09/2009 Updated the document
1.4 02/11/2009 Updated the document
1.42 02/19/2009 Updated the document
1.43 03/18/2009 Updated the document
1.44 03/24/2009 Updated the document
1.45 07/01/2009 Updated the document
1.46 07/15/2009 Updated the document
1.47 09/18/2009 Updated the document
1.48 03/10/2010 Updated the document
1.49 04/19/2010 Updated the document

1.50 05/07/2010 Updated the document
1.51 09/28/2010 Updated the document
1.52 01/20/2011 Updated the document
1.53 08/12/2011 Updated the document

This page was intentionally left blank.


Contents iii
Proprietary
Contents
1 Overview 1
2 Key Terms 1
3 System Requirements 2
4 Architectural Overview 2
4.1 Software Architecture .............................................................................................. 2
4.2 Hardware Architecture ............................................................................................. 2
5 Getting Started 3
5.1 License Control ....................................................................................................... 3
6 Properties 4
6.1 bAutoCapture .......................................................................................................... 4
6.2 destPath .................................................................................................................. 4
6.3 TransNo .................................................................................................................. 4
6.4 FingPos ................................................................................................................... 5
6.5 bRolled ................................................................................................................... 5
6.6 ErrCode ................................................................................................................... 6
6.7 OutputSaveFormat ................................................................................................... 6
6.8 bDisplayPromptText ................................................................................................ 6
6.9 bDisplayArrow ......................................................................................................... 7
6.10 bDisplayCombox ..................................................................................................... 7
6.11 GetNFIQScore .......................................................................................................... 8
6.12 nMatchScore............................................................................................................ 8
6.13 ReportTime ............................................................................................................. 8
6.14 ErrMsg .................................................................................................................... 9
6.15 FingerNumToDetect ................................................................................................ 9
6.16 bImageSegmentation ............................................................................................... 9
6.17 RightSideSegmentedFingerPosition ........................................................................ 10
6.18 LeftSideSegmentedFingerPosition .......................................................................... 10
6.19 SegmentedImageHeight ......................................................................................... 11
6.20 SegmentedImageWidth .......................................................................................... 11
6.21 OutputFileMode ..................................................................................................... 12
6.22 Tpl220MatchResult................................................................................................ 12
6.23 bInitKillScannerExternal ......................................................................................... 12
6.24 bAmputateCombox ............................................................................................... 13
6.25 AmputatedCode .................................................................................................... 14
6.26 bLengthenValidationTime ...................................................................................... 14

Contents iv
Proprietary
6.27 bInvisibleFingerLogo ............................................................................................. 15
6.28 ScannerModel ........................................................................................................ 15
6.29 bCalibrationMessage ............................................................................................. 16
7 Methods 17
7.1 Capture() ............................................................................................................... 17
7.2 ComputeNFIQScore( File_Path, File_Format ) .......................................................... 17
7.3 SameCheck( File_Path1, File_Path2, Para) ............................................................... 17
7.4 GetTiming( Time_Capture_Scenario ) ..................................................................... 18
7.5 CreateTpl( FPImg1, FPImg2, FPPosition1, FPPosition2, ImputImageType,
OutputFileType, OutputFileName, DeviceID ) ................................................................... 19
7.6 GetMemoryBuffer( BufferType, OutputImageBuffer ) ............................................... 19
7.7 ComputeNFIQScoreFromBuffer( Raw_Image_Buffer ) ............................................... 21
7.8 CreateTplBuffer( RawImageBuffer1, RawImageBuffer2, FPPosition1, FPPosition2) .... 21
7.9 SameCheckFromBuffer( MntBuffer1, MntBuffer2) .................................................... 22
7.10 Create220Tpl( BmpFingerImg, OutputFileName, FPPosition) ................................... 22
7.11 Create220TplBuffer( RawImgBuffer, FPPosition) ..................................................... 23
7.12 Verify220Tpl( 220Tpl1, 220Tpl2) ........................................................................... 23
7.13 Verify220TplBuffer( 220TplBuff1, 220TplBuff2) ..................................................... 24
7.14 InitScannerExternal().............................................................................................. 25
7.15 TerminateScannerExternal() ................................................................................... 25
7.16 SetRecaptureHotKey( FSKEY, KEYCODE) .................................................................. 25
7.17 SetCancelHotKey( FSKEY, KEYCODE) ....................................................................... 26
7.18 ConvertType9ToEFTS( InFilePath, OutFilePath)........................................................ 27
7.19 ConvertType9ToEFTSBuffer( Type9TplBuffer) ......................................................... 27
7.20 ConvertBMPBufferToEFTSBuffer( BMPBuffer) ........................................................... 27
8 Multi-Language Support 29
Appendix A Error Code Definitions 33
Appendix B Output File Naming Conventions 36
Appendix C Troubleshooting 36
Appendix D Key Code List 37



2 - Key Terms 1
Proprietary
1 Overview
The Cogent Fingerprint Capture (FPCaptureExpressLite) SDK provides a customizable interface
for the following Cogent fingerprint scanning devices to capture a single flat fingerprint image.
CSD200 scanner (Dimensions: 320x480, Resolution: 500ppi)
CSD330 scanner (Dimensions: 500x500, Resolution: 500ppi)
CSD450 scanner (Dimensions: 800x750, Resolution: 500ppi)

The FP330DIRECTX.dll is an ActiveX control interface that can easily be integrated into a Web-
based application or standalone application. It provides the following services:
Easy-to-use GUI that instructs the user about how to place the finger in the correct position
Auto-capture when an acceptable quality fingerprint is detected
Output image in BMP or WSQ format
Extract minutiae to the EFTS format
Create the ANSI INCITS 378 template
Create/verify 220 bytes template
Quality check based on NFIQ values
1:1 minutiae match verification
Rolled finger image capture (CSD450 scanner only)
2-flat finger image capture (CSD450 scanner only)
Cuts 2-flat finger image into 2 individual image file groups in the format of BMP, WSQ, or
EFTS format (CSD450 scanner only)
Output finger images or Templates as memory buffer
Multi-language support

2 Key Terms
This section describes key terms that are used throughout this Guide.

Term Description
Software Development Kit (SDK) An SDK is a programming package that enables
programmers to develop applications for a specific
platform. Typically, an SDK includes one or more APIs,
programming tools, and documentation.
Application Program Interface (API) An API is a set of routines, protocols, and tools for
building software applications.

4 - Architectural Overview 2
Proprietary
3 System Requirements
The following minimum system requirements are necessary in order to use the SDK described
in this document.

Operating System:
Windows 2000/XP/Vista

Tools:
Microsoft Visual C++ 6.0, VB, HTML, C#, JAVA

Hardware:
CPU: Pentium IV 2.0 GHz or better/comparable third party CPU
Memory: 512 MB RAM or more
Graphics Adapter: Graphics card supporting 1024 x 768 x 24 bit colors with DirectDraw
Support, 8 MB memory
PC Interface: USB 2.0, COM port (if using an external footswitch)
Monitor: Supports 1024 x 768 displays. A 19-inch monitor is recommended for displaying a
resolution of 1280 x 1024. Touch-screen is an option.

4 Architectural Overview
4.1 Software Architecture
The Cogent Fingerprint Capture (FPCaptureExpressLite) SDK is an ActiveX control. It provides a
GUI interface for Cogents fingerprint scanning device. Client applications can be built on top of
the FPCaptureExpressLite as shown in the following diagram.

Customer Application
FPCaptureExpressLite
Cogent Scanner SDK and Driver
Operating System
Figure 4.1-1 Software Architecture

4.2 Hardware Architecture
The hardware requires a USB 2.0 connection to a standard PC running under Microsoft Windows
XP or 2000.

5 - Getting Started 3
Proprietary
5 Getting Started
5.1 License Control
The Cogent Fingerprint Capture (FPCaptureExpressLite) SDK is under license control provided
by Cogent, Inc.

A license must be obtained in order to use FPCaptureExpressLite. To purchase a license, please
visit http://www.license.cogentsystems.com. A 90-day trial version is also available for
demonstration purposes.

FPCaptureExpressLite provides a set of fingerprint capture and fingerprint image processing
features. Each of these features is licensed and can be purchased separately accordingly to each
customers need. Please refer to Figure 5.1-1 for the complete set of features.

# Features
1 Fingerprint Capture and save as BMP format.
2 Output WSQ format image.
3 Output EFTS Minutia Format Extraction
4 Output Image NFIQ score
5 Create 378,220 or Type9 Template
6 1 to 1 match verification
Figure 5.1-1 Licensed Features




6 - Properties 4
Proprietary
6 Properties
This section provides detailed information about the API properties contained in this SDK.

6.1 bAutoCapture
Description
This property is used to enable the auto capture feature. If this feature is enabled, the live
image window will be closed and the image will be saved automatically when an acceptable
quality fingerprint is detected. If this feature is not enabled, the user must press <Enter> or the
<Space bar> to capture the fingerprint manually.

Valid Values

0 Default value, the auto capture feature is not enabled
1 Enable auto capture feature

Sample Code

FPLite.bAutoCapture=0

6.2 destPath
Description
This property is used to specify the path of the output image.

Valid Values
A string contains an existing directory. Max length: 256.

Sample Code

FPLite.destPath = c:\\temp;

6.3 TransNo
Description
This property is used to specify the transaction number of the fingerprint.

Valid Value
A string contains letters or numbers. Max length: 20.

Sample Code

FPLite.TransNo = ABC001;

6 - Properties 5
Proprietary
6.4 FingPos
Description
This property is used to specify the position of the fingerprint. The default finger position is 1.
For output file naming rules, please refer to Appendix B: Output File Naming Conventions.

Valid Values

1 Right Thumb
2 Right Index Finger
3 Right Middle Finger
4 Right Ring Finger
5 Right little Finger
6 Left Thumb
7 Left Index Finger
8 Left Middle Finger
9 Left Ring Finger
10 Left little Finger

Sample Code

FPLite.FingPos = 1;

6.5 bRolled
Description
This property is used to specify the type of finger image that will be captured by the scanner.
Only CSD450 scanner supports rolled fingerprint capture. If bRolled is set to 1, then both
FingerNumToDetect and bAutoCapture must also be set to 1.

Valid Values

0 Default value: flat finger image is expected to be captured.
1 Rolled fingerprint image is expected to be captured (CSD450 scanner
only).

Sample Code

FPLite.FingerNumToDetect=1
FPLite.bAutoCapture=1

6 - Properties 6
Proprietary
FPLite.bRolled=1
6.6 ErrCode
Description
This property is used to return the capture result when the capture is done.

Valid Values

0 Success
Others Error: Please refer to Appendix A for the error code definitions.

Sample Code

FPLite.ErrCode;

6.7 OutputSaveFormat
Description
This property is used to specify the output image format. If this is not specified, a BMP will be
saved. If multiple formats are required, place all required formats into one string. For example,
if WSQ output format and EFTS minutiae extraction is required, use WSQ_EFTS.

If RAW option is specified, the corresponding raw image buffer will be generated. The first 32
bytes of the buffer is the cogent type 32 bytes header.

Valid Values
A valid value consists of one of the items or a combination of the items below.

BMP Default value, a BMP is output
WSQ WSQ format image
EFTS EFTS format minutiae
RAW Raw image buffer with Cogent 32 bytes header.
TYPE9 TYPE 9 Cogent format template

Sample Code

FPLite.OutputSaveFormat = BMP_WSQ_EFTS_TYPE9;

6.8 bDisplayPromptText
Description

6 - Properties 7
Proprietary
This property is used to enable the feature for prompting the text display on the GUI. If this
feature is enabled, the text prompt will be displayed right under the capture screen and it will
guide you to capture the fingerprint properly. If this feature is not enabled, users need to
capture images using their own judgment.

Valid Values
0 The text display prompt feature is not enabled
1 Default value, the text display prompt feature is enabled

Sample Code

FPLite.bDisplayPromptText = 1;

6.9 bDisplayArrow
Description
This property is used to enable the feature for displaying the arrow symbol on the GUI. If this
feature is enabled, the arrow symbols will be displayed right under the capture screen and
guide you to capture the fingerprint properly. If this feature is not enabled, users need to
capture images using their own judgment.

Valid Values

0 The arrow symbol feature is not enabled
1 Default value, the arrow symbol feature is enabled

Sample Code

FPLite.bDisplayArrow=1

6.10 bDisplayCombox
Description
The live capture GUI displays a finger position logo depending on the finger position that the
user has entered in the FingPos property. This property is used to specify whether to enable
the feature for changing the position of the finger that was defined previously in the FingPos
property. If this feature is enabled, a different finger position can be chosen from the list box.
The user can specify another finger position other than the finger position that was previously
defined in the FingPos property. The finger position logo will be changed accordingly. The
combo box applies only to a single finger capture: it will be automatically disabled if
FingerNumToDetect > 1.

Valid Values
0 Default value, the finger position list box feature is not enabled

6 - Properties 8
Proprietary
1 The finger position list box feature is enabled

Sample Code

FPLite.bDisplayPromptText = 1;

6.11 GetNFIQScore
Description
This property is used to return the NFIQ score after using/calling the method
ComputeNFIQScore() or ComputeNFIQScoreFromBuffer() to compute the NFIQ score.
ComputeNFIQScore/ComputeNFIQFromBuffer and GetNFIQScore are always used in pairs.
Please see Section 7.2 for information about using the ComputeNFIQScore() and Section 7.7 for
information about using the ComputeNFIQScoreFromBuffer() method.

Sample Code

FPLite.GetNFIQScore;

6.12 nMatchScore
Description
This property is used to return the 1:1 match minutia score after using/calling the method
SameCheck() or SameCheckFromBuffer() to perform minutiae matching. The property
nMatchScore and the method SameCheck()/SameCheckFromBuffer() are always used in pairs.
Please see Section 7.3 for information about using the SameCheck() method and Section 7.9 for
information about using the SameCheckFromBuffer() method.


Valid Values
0 < nMatchScore < 10000.

Typically, if nMatchScore > 1000, the 2 fingers are considered a match.

Sample Code

FPLite.nMatchScore;

6.13 ReportTime
Description
This property is used to return the time required after calling the method GetTiming().
GetTiming() and ReportTime are always used in pairs. Please see Section 7.4 for information
about using the GetTiming() method.

Sample Code


6 - Properties 9
Proprietary
FPLite.ReportTime;

6.14 ErrMsg
Description
This property is used to return the error message if the error code is found to be less than 0,
otherwise, nothing will be displayed by the ErrMsg property.

Sample Code

FPLite.ErrMsg;

6.15 FingerNumToDetect
Description
This property sets the number of fingers to be captured. At this stage, 3 scanner types are
supported: CSD200, CSD330 and CSD450. CSD200 and CSD330 scanners are only supporting
1-finger capture, CSD450 is supporting both 1-finger and 2-finger capture. If CSD450 scanner is
used for 2-flat finger capture, it needs to be set to 2.

Valid Values

1 Default value: 1 finger is expected to be captured. This applies to
all scanner types.
2 2 fingers are expected to be captured. This only applies to CSD450
scanner.

Sample Code

FPLite.FingerNumToDetect=1

6.16 bImageSegmentation
Description
This property only applies to the CSD450 scanner. If the property FingerNumToDetect is set to
2, this property is used to split the 2-finger image into 2 individual image files/buffer when
enabled. If the property FingerNumToDetect is set to 1, this property is used to segment the
1-finger capture from the original image. The segmented image size is 500x500 pixels.

Valid Values

0 Default value: the segmentation or splitting feature is not enabled.
1 The segmentation of the 1-finger image or splitting 2-finger image
feature is enabled.


6 - Properties 10
Proprietary
Sample Code

FPLite.bImageSegmentation=0

6.17 RightSideSegmentedFingerPosition
Description
This property only applies to the CSD450 scanner. It is used to specify the position of the future
segmented fingerprint captured on the right side of the scanner. The default finger position is
1. If the property FingerNumToDetect is set to 1, this property is ignored. For output file
naming rules, please refer to Appendix B: Output File Naming Conventions.

Valid Values

1 Right Thumb
2 Right Index Finger
3 Right Middle Finger
4 Right Ring Finger
5 Right little Finger
6 Left Thumb
7 Left Index Finger
8 Left Middle Finger
9 Left Ring Finger
10 Left little Finger

Sample Code

FPLite.RightSideSegmentedFingerPosition = 1;

6.18 LeftSideSegmentedFingerPosition
Description
This property only applies to the CSD450 scanner. It is used to specify the position of the future
segmented fingerprint captured on the left side of the scanner. The default finger position is 6.
If the property FingerNumToDetect is set to 1, this property is ignored. For output file naming
rules, please refer to Appendix B: Output File Naming Conventions.

Valid Values


6 - Properties 11
Proprietary
1 Right Thumb
2 Right Index Finger
3 Right Middle Finger
4 Right Ring Finger
5 Right little Finger
6 Left Thumb
7 Left Index Finger
8 Left Middle Finger
9 Left Ring Finger
10 Left little Finger

Sample Code

FPLite.LeftSideSegmentedFingerPosition = 6;

6.19 SegmentedImageHeight
Description
This property is used to define the height of the image that will be segmented by setting
bImageSegmentation to 1. The default height is 500 pixels.

Valid Values
320 pixels <= SegmentedImageHeight <= 750 pixels

Sample Code

FPLite.bImageSegmentation = 1;
FPLite.SegmentedImageHeight = 450;
FPLite.SegmentedImageWidth = 450;

6.20 SegmentedImageWidth
Description
This property is used to define the width of the image that will be segmented by setting
bImageSegmentation to 1. The default width is 500 pixels.

Valid Values
320 pixels <= SegmentedImageWidth <= 800 pixels

Sample Code

6 - Properties 12
Proprietary

FPLite.bImageSegmentation = 1;
FPLite.SegmentedImageHeight = 450;
FPLite.SegmentedImageWidth = 450;

6.21 OutputFileMode
Description
This property is used to specify the output format of the resulting image files (e.g., bmp or
wsq) or extracted minutiae file (e.g., mnt). The output format can either be output as file or
buffer. If the property is set to 1 and you have also specified the property OutputSaveFormat =
BMP_WSQ_EFTS, the corresponding bmp, wsq and mnt files will all be generated as output. If
the property is set to 0 and you have also specified the property OutputSaveFormat =
BMP_WSQ_EFTS, no files would be generated. However, the corresponding bmp buffer, wsq
buffer, and mnt buffer will be generated. The buffers can be retrieved by calling the method
GetMemoryBuffer(). Please see Section 7.6 for more details.

Valid Values

0 The resulting output image/minutiae would be in the form of
buffer.
1 Default value: the resulting output image/minutiae would be
generated as file format.

Sample Code

FPLite.OutputFileMode=1

6.22 Tpl220MatchResult
Description
This property is used to return the minutia matching result after using/calling the method
Verify220Tpl() or Verify220TplBuffer() to perform minutiae matching. The property
Tpl220MatchResult and the method Verify220Tpl()/Verify220TplBuffer() are always used in
pairs. Please see Section 7.12 for information about using the Verify220Tpl() method and
Section 7.13 for information about using the Verify220TplBuffer() method.

Valid Values
0 The two 220 bytes templates do not match each other.
1 The two 220 bytes templates are considered a match.

6.23 bInitKillScannerExternal
Description

6 - Properties 13
Proprietary
This property is used to initialize the scanner externally and turn off the scanner lights in
preparation for external shutdown. That means the user can initialize the CSD series scanners
when the upper layer applications starts and before the scanner is used. In addition, the user is
only required to prepare the scanner for shutdown when the application is no longer using the
scanner. This feature applies to all three supported CSD scanners. If the property
bInitKillScannerExternal is set to 1, the user needs to call the method InitScannerExternal() to
initialize the scanner before use and calling the method TerminateScannerExternal() to
prepare the scanner for shutdown after no longer using the scanner.

Valid Values

0 Default value: the scanner will be initialized/de-initialized internally
before/after each capture.
No need to call the methods InitScannerExternal() and
TerminateScannerExternal().
1 The scanner is required to initialize and de-initialize once by the
calling methods InitScannerExternal() and
TerminateScannerExternal()

Sample Code

FPLite.bInitKillScannerExternal=0

Sample Code

FPLite.InitScannerExternal();

FPLite.bInitKillScannerExternal=1;

FPLite.TerminateScannerExternal();

6.24 bAmputateCombox
Description
This property is used to specify which finger is amputated during the 2-finger capture with the
CSD450 scanner. This property will be disabled automatically if users set the property
FingerNumToDetect = 1. If the feature is enabled, a list will be displayed on the Capture GUI;
users can specify which finger(s) is (are) amputated from the list. If users set the property
bImageSegmentation = 1, a pair of finger images will be created after capture. However, the
corresponding amputated finger image(s) will be generated as a blank image accordingly.

Valid Values

0 Default value, the amputated finger list box feature is not enabled
1 The amputated finger list box feature is enabled


6 - Properties 14
Proprietary
Sample Code

FPLite.bAmputateCombox = 1;
FPLite.FingerNumToDetect = 2;
FPLite.bImageSegmentation = 1;
FPLite.RightSideSegmentedFingerPosition = 2;
FPLite.LeftSideSegmentedFingerPosition = 7;


6.25 AmputatedCode
Description
This property is used to return a value that identifies which finger(s) is (are) amputated. This
property is used only if the user enables the property bAmputateCombox.

Valid Values

0 Default value. No finger amputated.
1 Right side finger amputated
2 Left side finger amputated
3 Both fingers amputated

Sample Code

FPLite.AmputatedCode;

6.26 bLengthenValidationTime
Description
This property is used to provide a longer validation time for user while capturing the finger
image by the scanner. This feature is not enabled by default. If this feature is enabled, the
validation time will be 3 times slower than the normal validation time.

Valid Values

0 Default value, the feature is not enabled
1 The feature is enabled

Sample Code

FPLite. bLengthenValidationTime=1




6 - Properties 15
Proprietary
6.27 bInvisibleFingerLogo
Description
This property is used to hide the fingerprint logo on the capture GUI. This feature is disabled by
default.

Valid Values

0 Default value.
1 Fingerprint logo will not be displayed on the screen

Sample Code

FPLite. bInvisibleFingerLogo=1

6.28 ScannerModel
Description
This property is optional, and is used to specify which scanner will be used. If it is not called,
the scanner model will be detected automatically.

If this property and the method InitScannerExternal() are both called, this property must be
specified before InitScannerExternal() is called.

If the method InitScannerExternal() is not going to be used, this property must be specified
before the method Capture() is called.

Valid Values

CSD200 CSD200 scanner will be used
CSD330 CSD330 scanner will be used
CSD450 CSD450 scanner will be used

Sample Code

FPLite.ScannerModel = CSD330;
FPLite.InitScannerExternal();

FPLite.Capture();

Or

FPLite.ScannerModel = CSD450;
FPLite.Capture();


6 - Properties 16
Proprietary
6.29 bCalibrationMessage
Description
This property is used to display a calibration message during the Initialization process. It will
take effect only if you use the method InitScannerExternal() to initialize the scanner. This
property must be specified before InitScannerExternal() is called.

Valid Values

0 Default value. Calibration message will not be displayed on the
screen during initialization
1 Calibration message will be displayed on the screen during
initialization
Sample Code

FPLite.bCalibrationMessage = 1;
FPLite.InitScannerExternal();



7 - Methods 17
Proprietary
7 Methods
This section provides detailed information about the API methods contained in this SDK.

7.1 Capture()
Description
This method will bring up a live capture window. When the user places a finger on the scanner,
it will display the fingerprint image. It will instruct the user to position the finger
(up/down/left/right) and to press harder to obtain a good quality print. If the auto-capture
feature is enabled, the window will no longer be displayed when a good print is captured.
Otherwise, press <Enter> or the <Space bar> to capture the fingerprint.

Parameters
None

Sample Code

FPLite.Capture();

7.2 ComputeNFIQScore( File_Path, File_Format )
Description
This method will compute the NFIQ score for the finger image located at File_Path in the
File_Format image format.

Parameters

Parameter Description Support
Options
Example
File_Path Input fingerprint file path N/A C:\\Temp\\f1.bmp
File_Format
Image type of the input
image file
"BMP",
"WSQ"
"BMP"

Sample Code

FPLite.ComputeNFIQScore(c:\\Temp\\f1.bmp, BMP);
FPLite.GetNFIQScore;

7.3 SameCheck( File_Path1, File_Path2, Para)
Description

7 - Methods 18
Proprietary
This method will compute the 1:1 matching score for the two minutia files specified at
File_Path1 and File_Path2. Note: The third parameter Para is not being used at this time. Place
an empty string in this field.

Parameters

Parameter Description Support
Options
Example
File_Path1 1
st
Input minutia file path N/A C:\\Temp\\f1.mnt
File_Format 2
nd
Input minutia file path N/A C:\\Temp\\f2.mnt
Para Reserved for future use N/A ""

Sample Code

FPLite.SameCheck(c:\\Temp\\f1.mnt, c:\\Temp\\f2.mnt, );
FPLite. nMatchScore;

7.4 GetTiming( Time_Capture_Scenario )
Description
This method will compute the time required for the following 5 scenarios.

Valid Values

INIT_TIME Time required to initialize the scanner
CAPTURE_TIME Time required to capture a fingerprint using the scanner
WSQ_CONVERT_TIME Time required to convert the BMP file to WSQ file format
EFTS_CONVERT_TIME Time required to extract the minutiae from the BMP file
QUALITY_ASSESS_TIME Time required to compute the NFIQ score for a fingerprint image
VERIFICATION_TIME Time required to compute the 1:1 fingerprint matching

Sample Code

FPLite.Capture();
FPLite.GetTiming(INIT_TIME);
FPLite.ReportTime;
FPLite.GetTiming(CAPTURE_TIME);
FPLite.ReportTime;


7 - Methods 19
Proprietary
7.5 CreateTpl( FPImg1, FPImg2, FPPosition1, FPPosition2, ImputImageType,
OutputFileType, OutputFileName, DeviceID )
Description
This method is used to create the 378 minutia format template given the two fingerprint
images. A 378 minutia format template will be created as an output specified by the parameter
OutputFileName.

Parameters

Parameter Description Support
Options
Example
FPImg1 Input fingerprint file path N/A c:\\Temp\\f1.bmp
FPImg2 Input fingerprint file path N/A c:\\Temp\\f6.bmp
FPPosition1 Finger position 1 to 10 1
FPPosition2 Finger position 1 to 10 6
InputImageType Image type of the two
input image files
"BMP",
"WSQ"
"BMP"
OutputFileType Output file format "378" "378"
OutputFileName Output file name and path N/A c:\\Temp\\Output.FMR
DeviceID Scanner that captured the
two finger images
"301" "301"

7.6 GetMemoryBuffer( BufferType, OutputImageBuffer )
Description
This method is used to retrieve the corresponding buffer if the user has set the property
OutputFileMode to 0. If OutputFileMode is set to 1, then no buffer will be retrieved by this
method.

If CSD200/CSD330/CSD450 scanner is used to capture a flat finger image and the property
OutputSaveFormat = BMP_WSQ_EFTS_TYPE9, then the following buffer format could be
generated:
- 1 bmp file buffer
- 1 wsq file buffer
- 1 mnt file buffer
- 1 type 9 file buffer

If CSD450 scanner is used to capture a 2-finger image, the property OutputSaveFormat =
BMP_WSQ_EFTS_TYPE9, and the property bImageSegmentation = 0, then the following buffer
format could be generated:
- 1 2finger bmp file buffer

7 - Methods 20
Proprietary
- 1 2finger wsq file buffer
- 1 2finger mnt file buffer
- 1 2finger T9 file buffer

If CSD450 scanner is used to capture a 2-finger image, the property OutputSaveFormat =
BMP_WSQ_EFTS_TYPE9, and the property bImageSegmentation = 1, then the following buffer
format could be generated:
- 1 2finger bmp file buffer
- 1 2finger wsq file buffer
- 1 2finger mnt file buffer
- 1 2finger T9 file buffer
- 1 Right side finger image bmp file buffer
- 1 Left side finger image bmp file buffer
- 1 Right side finger image wsq file buffer
- 1 Left side finger image wsq file buffer
- 1 Right side finger image mnt file buffer
- 1 Left side finger image mnt file buffer
- 1 Right side finger image T9 file buffer
- 1 Left side finger image T9 file buffer

Parameters

Parameter Description Support Options Example
BufferType Input buffer image
type
BMP
WSQ
MNT
RIGHT_SEGMENTED_BMP
LEFT_SEGMENTED_BMP
RIGHT_SEGMENTED_WSQ
LEFT_SEGMENTED_WSQ
RIGHT_SEGMENTED_MNT
LEFT_SEGMENTED_MNT
RIGHT_SEGMENTED_T9
LEFT_SEGMENTED_T9
RAW
378TPL
220TPL
TYPE9
T9_TO_MNT
BMP_TO_MNT
BMP
OutputImageBuffer Output retrieved File
buffer
N/A buffImg

Sample Code

7 - Methods 21
Proprietary

FPLite.OutputSaveFormat = BMP_WSQ;
FPLite.FingerNumToDetect = 2;
FPLite.bImageSegmentation = 1;
FPLite.OutputFileMode = 0;
FPLite.Capture();
FPLite.GetMemoryBuffer(BMP,ImgBuffer1);
FPLite.GetMemoryBuffer(WSQ,ImgBuffer2);
FPLite.GetMemoryBuffer(RIGHT_SEGMENTED_BMP,ImgBuffer3);
FPLite.GetMemoryBuffer(LEFT_SEGMENTED_BMP,ImgBuffer4);
FPLite.GetMemoryBuffer(RIGHT_SEGMENTED_WSQ,ImgBuffer5);
FPLite.GetMemoryBuffer(LEFT_SEGMENTED_WSQ,ImgBuffer6);

7.7 ComputeNFIQScoreFromBuffer( Raw_Image_Buffer )
Description
This method is used to compute the NFIQ score for the finger image buffer. The method
ComputeNFIQScore defined in Section 7.2 requires image file input, but this method requires
image memory buffer instead.

Parameters

Parameter Description Support
Options
Example
Raw_Image_Buffer Raw_image_Buffer is the incoming raw
image buffer with Cogent32 bytes header
N/A RawBuff

Sample Code

FPLite.OutputFileMode = 0;
FPLite.OutputSaveFormat = RAW;
FPLite.GetMemoryBuffer(RAW,RawBuff);
FPLite.ComputeNFIQScore(RawBuff);
FPLite.GetNFIQScore;

7.8 CreateTplBuffer( RawImageBuffer1, RawImageBuffer2, FPPosition1, FPPosition2)
Description
This method is used to create the 378 minutia format template in memory buffer given the two
fingerprint image buffers. A 378 minutia format template is retrieved by calling the method
GetMemoryBuffer defined in Section 7.6.

Parameters

Parameter Description Support
Options
Example
RawImageBuffer1 Raw fingerprint image buffer 1 with Cogent32 N/A RawBuff1

7 - Methods 22
Proprietary
bytes header
RawImageBuffer2 Raw fingerprint image buffer 2 with Cogent32
bytes header
N/A RawBuff2
FPPosition1 Finger position of image buffer 1 1 to 10 1
FPPosition2 Finger position of image buffer 2 1 to 10 6

Sample Code

FPLite.OutputFileMode = 0;
FPLite.OutputSaveFormat = RAW;
FPLite.GetMemoryBuffer(RAW,RawBuff1);

FPLite.GetMemoryBuffer(RAW,RawBuff2);

FPLite.CreateTplBuffer(RawBuff1, RawBuff2, 1, 6);
FPLite.GetMemoryBuffer(378TPL,OutputTplBuffer);

7.9 SameCheckFromBuffer( MntBuffer1, MntBuffer2)
Description
This method is used to compute the 1:1 matching score for the two minutia buffers specified at
MntBuffer1 and MntBuffer2.

Parameters

Parameter Description Support
Options
Example
MntBuffer1 1
st
Input minutia buffer N/A MntBuf1
MntBuffer2 2
nd
Input minutia buffer N/A MntBuf2

Sample Code

FPLite.OutputFileMode = 0;
FPLite.OutputSaveFormat = EFTS;
FPLite.GetMemoryBuffer(MNT,MntBuff1);

FPLite.GetMemoryBuffer(MNT,MntBuff2);

FPLite.SameCheckFromBuffer(MntBuff1, MntBuff2);
FPLite. nMatchScore;

7.10 Create220Tpl( BmpFingerImg, OutputFileName, FPPosition)
Description

7 - Methods 23
Proprietary
This method is used to create the 220 bytes minutia format template given a BMP format
fingerprint image. A 220 bytes minutia format template will be created as an output specified
by the parameter OutputFileName.

Parameters

Parameter Description Support
Options
Example
BmpFingerImg Input fingerprint file path N/A c:\\Temp\\fing.bmp
OutputFileName Output file name and path N/A c:\\Temp\\220bTpl.220
FPPosition Finger position 1 to 10 1

Sample Code

FPLite.Create220Tpl(c:\\Temp\\fing.bmp,c:\\Temp\\220Tpl.220, 1);

7.11 Create220TplBuffer( RawImgBuffer, FPPosition)
Description
This method is used to create a 220 bytes minutia format template buffer given a raw image
buffer with Cogent32 bytes header. A 220 bytes minutia format template will be retrieved by
calling the method GetMemoryBuffer defined in Section 7.6.

Parameters

Parameter Description Support
Options
Example
RawImgBuffer Input fingerprint file path N/A RawBuff
FPPosition Finger position 1 to 10 1

Sample Code

FPLite.OutputFileMode = 0;
FPLite.OutputSaveFormat = RAW;
FPLite.GetMemoryBuffer(RAW,RawBuff);
FPLite.Create220TplBuffer(RawBuff,1);
FPLite.GetMemoryBuffer(220TPL,Out220TplBuff);

7.12 Verify220Tpl( 220Tpl1, 220Tpl2)
Description

7 - Methods 24
Proprietary
This method is used to compute the 1:1 matching result for the two 220 bytes template files
specified at 220Tpl1 and 220Tpl2. The matching result can be retrieved by calling the
property Tpl220MatchResult. Please refer to Section 6.22 for details.

Parameters

Parameter Description Support
Options
Example
220Tpl1 1
st
220 bytes template file path N/A C:\\Temp\\220Tpl1.220
220Tpl2 2
nd
220 bytes template file path N/A C:\\Temp\\220Tpl2.220

Sample Code

FPLite.Create220Tpl(c:\\Temp\\fing1.bmp,c:\\Temp\\220Tpl1.220, 1);

FPLite.Create220Tpl(c:\\Temp\\fing2.bmp,c:\\Temp\\220Tpl2.220, 6);

FPLite.Verify220Tpl(c:\\Temp\\220Tpl1.220, c:\\Temp\\220Tpl2.220);
FPLite. Tpl220MatchResult;

7.13 Verify220TplBuffer( 220TplBuff1, 220TplBuff2)
Description
This method is used to compute the 1:1 matching result for the two 220 bytes template buffers
specified at 220TplBuff1 and 220TplBuff2. The matching result can be retrieved by calling the
property Tpl220MatchResult. Please refer to Section 6.22 for details.

Parameters

Parameter Description Support
Options
Example
220TplBuff1 1
st
220 bytes template buffer N/A 220Buff1
220TplBuff2 2
nd
220 bytes template buffer N/A 220Buff2

Sample Code

FPLite.OutputFileMode = 0;
FPLite.OutputSaveFormat = RAW;
FPLite.GetMemoryBuffer(RAW,RawBuff1);
FPLite.Create220TplBuffer(RawBuff1,1);
FPLite.GetMemoryBuffer(220TPL,220Buff1);

FPLite.Create220TplBuffer(RawBuff2,6);
FPLite.GetMemoryBuffer(220TPL,220Buff2);

FPLite.Verify220TplBuffer(220Buff1, 220Buff2);

7 - Methods 25
Proprietary
FPLite. Tpl220MatchResult;

7.14 InitScannerExternal()
Description

This method is used to initialize the scanner externally. This method has to use with the
property bInitKillScannerExternal. Please refer to Section 6.23 for details.

Parameters
None

Sample Code

FPLite.InitScannerExternal();

7.15 TerminateScannerExternal()
Description

This method is used to de-initialize the scanner externally. This method has to used with the
property bInitKillScannerExternal and the method InitScannerExternal(). Please refer to
Section 6.23 and Section 7.14 for details.

Parameters
None

Sample Code

FPLite.TerminateScannerExternal();


7.16 SetRecaptureHotKey( FSKEY, KEYCODE)
Description
This method will set up the hot key for restarting the rolled capture. When rolled capture failure
occurs, 2 hot keys will be available to either recapture the rolled image or abort the existing
capture. The 2 parameters FSKEY and KEYCODE are used to set the recapture hot key
parameters in decimal value.

By default, FSKEY=2, KEYCODE=121. Therefore, the default hot key for recapturing rolled
image is CTRL + F10 key;

Parameters

Parameter Description Support Options Exampl
e

7 - Methods 26
Proprietary
FSKEY Specifies keys that must be
pressed in combination with the
key specified by the KEYCODE
parameter in decimal value
1=ALT, 2=CTRL, 4=SHIFT
or 8=Windows key, or
combination of the above.
2
KEYCODE Specifies the virtual-key code of
the hot key in decimal value
Please refer to Appendix C for
the whole list of key code.

121

Sample Code

Pressing ALT + F10 as the re-capture hot key:

FPLite.SetRecaptureHotKey(2,121);

7.17 SetCancelHotKey( FSKEY, KEYCODE)
Description
This method will setup the hot key for aborting the rolled capture. When rolled capture failure
occurs, 2 hot keys will be available to either recapture the roll image or abort the existing
capture. The 2 parameters FSKEY and KEYCODE are used to set the cancel hot key parameters
in decimal value.

By default, FSKEY=2, KEYCODE=113. Therefore, the default hot key for aborting rolled image
capture is CTRL + F2 key;

Parameters

Parameter Description Support Options Example
FSKEY Specifies keys that must be
pressed in combination with the
key specified by the KEYCODE
parameter in decimal value
1=ALT, 2=CTRL, 4=SHIFT or
8=Windows key, or
combination of the above.
2
KEYCODE Specifies the virtual-key code of
the hot key in decimal value
Please refer to Appendix C for
the whole list of key code.

113

Sample Code

Pressing ALT + F2 as the Cancel hot key:

FPLite.SetCancelHotKey(2,113);





7 - Methods 27
Proprietary

7.18 ConvertType9ToEFTS( InFilePath, OutFilePath)
Description
This method is used to convert the Type9 template into EFTS minutia template by specifying the
whole full path of both the Type 9 template and the EFTS template.
Parameters

Parameter Description Support
Options
Example
InFilePath
Input Type 9 file name and
path N/A c:\\Temp\\Finger.t9
OutFilePath
Output EFTS file name and
path N/A c:\\Temp\\Finger.mnt

Sample Code

FPLite.ConvertType9ToEFTS(c:\\Temp\\Finger.t9,c:\\Temp\\Finger.mnt);

7.19 ConvertType9ToEFTSBuffer( Type9TplBuffer)
Description
This method is used to convert the Type9 template buffer into EFTS minutia template buffer.
An EFTS template buffer will be retrieved by calling the method GetMemoryBuffer defined in
Section 7.6 with parameter T9_TO_MNT.
Parameters

Parameter Description Support
Options
Example
Type9TplBuffer Input Type 9 file buffer N/A T9Buffer

Sample Code

FPLite.OutputFileMode = 0;
FPLite.OutputSaveFormat = BMP_EFTS_TYPE9;
FPLite.GetMemoryBuffer(BMP,BmpBuff);
FPLite.GetMemoryBuffer(EFTS,EFTSBuff);
FPLite.GetMemoryBuffer(TYPE9,TYPE9Buff);

FPLite.ConvertType9ToEFTSBuffer(TYPE9Buff);
FPLite.GetMemoryBuffer(T9_TO_MNT,ConvertedMNTBuff);
7.20 ConvertBMPBufferToEFTSBuffer( BMPBuffer)
Description

7 - Methods 28
Proprietary
This method is used to convert the Bmp image buffer into EFTS minutia template buffer by
specifying the Bmp image buffer. An EFTS template buffer will be retrieved by calling the
method GetMemoryBuffer defined in Section 7.6 with parameter BMP_TO_MNT.
Parameters

Parameter Description Support
Options
Example
BMPBuffer Bmp image buffer N/A BmpBuffer

Sample Code

FPLite.OutputFileMode = 0;
FPLite.OutputSaveFormat = BMP_WSQ;
FPLite.GetMemoryBuffer(BMP,BmpBuff);
FPLite.GetMemoryBuffer(WSQ,WSQBuff);

FPLite.ConvertBMPBufferToEFTSBuffer(BmpBuff);
FPLite.GetMemoryBuffer(BMP_TO_MNT,Converted_MNT_Buff1);



8 - Multi-Language Support 29
Proprietary
8 Multi-Language Support
This section provides detailed information about the multi-language support contained in this
SDK.

The file Expresslite_language.cfg has been added to the SDK for supporting multiple
languages. The file should always be saved in the same folder as the dll file. Users can modify
the sentences to their own language.

The following 7 categories are in the Expresslite_language.cfg file:

Category Item Default Sentence
Display
Scenario
SCANNER_ERR_CODE DIRTY_SENSOR Please Clean the scanner
screen and Capture
again!
During Roll
Capture error
occurs
SCANNER_ERR_CODE CG4_CONTRAST Please moisturize the
finger and Capture again!
During Roll
Capture error
occurs
SCANNER_ERR_CODE CG4_TOOFAST Finger was rolled too
fast! Please Capture
again!
During Roll
Capture error
occurs
SCANNER_ERR_CODE CG4_TOOSLOW Finger was rolled too
slow! Please Capture
again!
During Roll
Capture error
occurs
SCANNER_ERR_CODE CG4_ROLLBACK Finger was not rolled
completely! Please
Capture again!
During Roll
Capture error
occurs
SCANNER_ERR_CODE CG4_SLIDING Finger was shifted while
rolling! Please Capture
again!
During Roll
Capture error
occurs
SCANNER_ERR_CODE CG4_SHIFT Finger was shifted while
rolling! Please Capture
again!
During Roll
Capture error
occurs
SCANNER_ERR_CODE CG4_CENTER Finger was not centered!
Please Capture again!
During Roll
Capture error
occurs
SCANNER_ERR_CODE CG4_DRYFINGER Finger is too dry. Please
Capture again!
During Roll
Capture error
occurs
SCANNER_ERR_CODE CG4_WETFINGER Finger is too wet. Please
Capture again!
During Roll
Capture error
occurs

8 - Multi-Language Support 30
Proprietary
Category Item Default Sentence
Display
Scenario
SCANNER_ERR_CODE CG4_LOWQUALITY Finger could not be
recognized! Please
Capture again!
During Roll
Capture error
occurs
SCANNER_ERR_CODE CG4_LIFTFINGER Please lift the finger and
Capture again!
During Roll
Capture error
occurs
SCANNER_ERR_CODE CG4_GENERAL An unknown error occurs
during capture! Please
Capture again!
During Roll
Capture error
occurs
HOT_KEY_INFO HOT_KEY_MSG Press 'Ctrl'+'F10' to
Capture Image. Press
'Ctrl'+'F2' to Cancel
Capture.
During Roll
Capture error
occurs
FINGER_QUAL_CHECK NO_FINGER No finger Message Guide
for Flat
Capture
FINGER_QUAL_CHECK TOO_LEFT Image is too left, move
finger >>>
Message Guide
for Flat
Capture
FINGER_QUAL_CHECK TOO_RIGHT Image is too right, move
finger <<<
Message Guide
for Flat
Capture
FINGER_QUAL_CHECK TOO_HIGH Image is too high, move
finger LOWER...
Message Guide
for Flat
Capture
FINGER_QUAL_CHECK TOO_LOW Image is too low, move
finger HIGHER...
Message Guide
for Flat
Capture
FINGER_QUAL_CHECK TOO_LIGHT Image is too light, press
HARDER...
Message Guide
for Flat
Capture
FINGER_QUAL_CHECK GOOD_FINGER Good... Message Guide
for Flat
Capture
FINGER_QUAL_CHECK ONE_FINGER Only 1 finger detected Message Guide
for Flat
Capture
FINGER_QUAL_CHECK NO_FINGER No Fingerprint Message Guide
for Flat
Capture
FINGER_QUAL_CHECK BAD_IMAGE Bad Fingerprint image. Message Guide
for Flat
Capture

8 - Multi-Language Support 31
Proprietary
Category Item Default Sentence
Display
Scenario
FINGER_QUAL_CHECK 2_FINGER_FOUND 2 Good Finger images
found.
Message Guide
for Flat
Capture
FINGER_QUAL_CHECK AMPUTATE1_FINGER 2 fingers detected. Please
try again.
Message Guide
for Flat
Capture
DIALOG_TITLE TOP_TITLE Finger Print Scanner
Dialog
Main Screen
Dialog Title
ICON_CFG HAND_ICON RLFingPos Main Screen
icon display
FINGER_DESCRIPTION RIGHT-THUMB RIGHT-THUMB Finger
DisplayCombo
Box is enabled
FINGER_DESCRIPTION RIGHT-INDEX RIGHT-INDEX Finger
DisplayCombo
Box is enabled
FINGER_DESCRIPTION RIGHT-MIDDLE RIGHT-MIDDLE Finger
DisplayCombo
Box is enabled
FINGER_DESCRIPTION RIGHT-RING RIGHT-RING Finger
DisplayCombo
Box is enabled
FINGER_DESCRIPTION RIGHT-LITTLE RIGHT-LITTLE Finger
DisplayCombo
Box is enabled
FINGER_DESCRIPTION LEFT-THUMB LEFT-THUMB Finger
DisplayCombo
Box is enabled
FINGER_DESCRIPTION LEFT-INDEX LEFT-INDEX Finger
DisplayCombo
Box is enabled
FINGER_DESCRIPTION LEFT-MIDDLE LEFT-MIDDLE Finger
DisplayCombo
Box is enabled
FINGER_DESCRIPTION LEFT-RING LEFT-RING Finger
DisplayCombo
Box is enabled
FINGER_DESCRIPTION LEFT-LITTLE LEFT-LITTLE Finger
DisplayCombo
Box is enabled
AMPUTATE_DESCRIPTION NOAMPUTATE No Amputated Finger Amputate
Combo Box is
enabled

8 - Multi-Language Support 32
Proprietary
Category Item Default Sentence
Display
Scenario
AMPUTATE_DESCRIPTION RIGHTAMPUTATE Right Side Finger
Amputated
Amputate
Combo Box is
enabled
AMPUTATE_DESCRIPTION LEFTAMPUTATE Left Side Finger
Amputated
Amputate
Combo Box is
enabled
AMPUTATE_DESCRIPTION BOTHAMPUTATE Both Fingers Amputated Amputate
Combo Box is
enabled
AMPUTATE_WINDOW AMPUTATE_HEADING Both Fingers Amputate
Confirmation
Amputate
Combo Box is
enabled
AMPUTATE_WINDOW AMPUTATE_WARNING Are you sure both fingers
amputated? If click Yes,
No finger capture is
required.
Amputate
Combo Box is
enabled
POPUP_WINDOW YES_TEXT Yes Amputate
Combo Box is
enabled
POPUP_WINDOW NO_TEXT No Amputate
Combo Box is
enabled
POPUP_WINDOW OK_TEXT Ok Amputate
Combo Box is
enabled
POPUP_WINDOW CANCEL_TEXT Cancel Amputate
Combo Box is
enabled
POPUP_WINDOW IGNORE_TEXT Ignore Amputate
Combo Box is
enabled
POPUP_WINDOW ABORT_TEXT Abort Amputate
Combo Box is
enabled
POPUP_WINDOW RETRY_TEXT Retry Amputate
Combo Box is
enabled

Note: The ICON_CFG category is used for configuring the finger icon logo. It could be
RLFingPos, DIFingPos, or DEFingPos.



Appendix A - Error Code Definitions 33
Proprietary
Appendix A Error Code Definitions
Code Description
-101 Failed to convert BSTR2strVectorFromBstr
-102 Failed to convert BSTR2strSafeArrayAccessData
-103 Failed to allocate heap
-104 Failed to read image file
-105 Failed to write image file
-106 The image file does not exist
-107 Failed to extract minutiae from file
-108 Failed to decode image
-109 Failed to allocate image buffer
-110 Failed to convert to MMF format
-111 Failed to get NFIQ score
-112 Failed to create 378 template
-113 Failed to create file for 378
-114 Failed to capture set of roll parameter
-115 Failed to initialize the scanner
-116 Failed to connect the scanner
-117 Failed to set roll mode on the scanner
-118 The current scanner is not supported
-119 Failed to convert image to WSQ
-120 Failed to write minutiae file
-121 Failed to allocate memory
-122 Failed to load BMP file
-123 Failed to capture image result
-124 Failed to set capture correctly
-125 Failed to set capture mode
-126 There is a capture calibration failure
-127 Failed to set finger position
-128 Failed to set transaction number
-129 Failed to set destination path
-130 Failed to set auto-capture
-131 Failed to set roll mode

Appendix A - Error Code Definitions 34
Proprietary
Code Description
-132 Failed to set prompt text
-133 Failed to set display arrow
-134 Failed to set display combo box
-135 Failed to save output format
-136 An invalid incoming file path has been entered
-137 An invalid supported file format has been entered
-138 Failed to extract EFS minutiae
-139 Failed to set the timing scenario string
-140 Error: encfile1
-141 Error: encfile2
-142 Error: null image buffer
-143 Failed to compute NFIQ
-144 Error wsq file not exist
-145 Failed to open file
-146 fread does not match
-147 Failed to convert WSQ to raw
-148 Invalid output file path
-149 Invalid password error
-150 Expiration error
-151 More than one application is using the DLL at the same time
-152 Error specifying the number of finger to detect
-153 Error in cutting image or image segmentation
-154 Error in specifying the image segmentation
-155 The number of fingers defined in the property FingerNumToDetect does
not match with the finger actually detected by the CSD450 scanner
-156 Fail to create output file name
-157 Error in specifying the segmented finger position under the property
RightSideSegmentFingerPosition or LeftSideSegmentFingerPosition
-158 The retrieved buffer does not exist
-159 Error in specifying the output file mode
-160 Error in specifying the image height that will be segmented
-161 Error in specifying the image width that will be segmented
-162 Error in setting system path
-163 Error in creating 220 bytes Template
-164 Invalid Handle

Appendix A - Error Code Definitions 35
Proprietary
Code Description
-165 Timeout Error
-166 Data Buffer Error
-167 Error in creating 220 bytes template buffer
-168 Invalid bmp format
-169 Invalid bmp resolution
-170 VerifyInit Error
-171 VerifyMatch Error
-172 Fpmatch Init Error
-173 Error in computing NFIQ from Buffer
-174 Error creating 378 Template Buffer
-175 Mnt buffer error
-176 220 Template Buffer error
-177 Error in setting up hot key
-178 Error to set amputated combo box
-179 Error in Capture Start
-180 Error in setting the property bLengthenValidationTime
-181 Error in setting the property bInvisibleFignerLogo
-182 Error in loading Type 9 Template
-183 Error in Writing Type 9 Template
-184 Error in Type 9 Conversion
-185 Error in writing Type 9 Template buffer
-186 Error in converting Type 9 buffer to EFTS buffer
-187 Error in Type 9 Buffer Conversion
-188 Error in converting Bmp buffer to EFTS buffer
-189 Error in Extract and Output EFTS Buffer
-190 Error in Terminate Scanner External
-191 Error in setting scanner model
-998 Capture abort suddenly
-999 Password error
Figure A-1 Error Code Definitions

Appendix C - Troubleshooting 36
Proprietary
Appendix B Output File Naming Conventions
For CSD200/CSD300/CSD450 1-finger capture:
TransNo+FingPos+.File Extension (original file)
Assuming TransNo=Trans002B, FingPos=1
e.g. Tran002B1.bmp

For CSD450 1-finger capture and bImageSegmentation=1 case, 2 files are generated as output:
TransNo+FingPos+.File Extension (original file)
TransNo+FingPos+Segment.File Extension (Segmented file)
e.g. Tran002B1.bmp and Tran002B1Segment.bmp

For CSD450 2-finger capture, bImageSegmentation=1, RightSideSegmentFingerPosition=1,
LeftSideSegmentFingerPosition=6, 3 files are generated as output:
TransNo+.File Extension (original 2-finger image file)
TransNo+Segment+RightSideSegmentFingerPosition+.File Extension (right side segmented
file)
TransNo+Segment+LeftSideSegmentFingerPosition+.File Extension (left side segmented
file)
e.g. Tran002B.bmp, Tran002BSegment1.bmp and Tran002BSegment6.bmp

Appendix C Troubleshooting
Issue Solution
License Activation Error
(-999)
Perform one of the following actions:
If you have a received a production license error (the following
value, -999, has been returned in the ErrCode property), please
refer to the Software License Activation and Control System
Administrator Guide.
If you have received a trial license error (the following value, -
999, has been returned in the ErrCode property), please refer to
the Trial Version License Activation Quick Reference Guide.
Multiple Instance Error (-
151)
Please do not use more than one application that calls the
FPCaptureExpressLite SDK at the same time. Doing so will cause an
error (the following value, -151, has been returned in the ErrCode
property). In this case, close all instances until there is only one
instance of the application running.
Figure C-1 Troubleshooting

Appendix D - Key Code List 37
Proprietary
Appendix D Key Code List
Keyboard Button Name Key Code (Decimal Value)
BACK 8
TAB 9
CLEAR 12
RETURN 13
SHIFT 16
CONTROL 17
MENU 18
PAUSE 19
CAPITAL 20
ESCAPE 27
CONVERT 28
NONCONVERT 29
ACCEPT 30
MODECHANGE 31
SPACE 32
PRIOR 33
NEXT 34
END 35
HOME 36
LEFT 37
UP 38
RIGHT 39
DOWN 40
SELECT 41
PRINT 42
EXECUTE 43
SNAPSHOT 44
INSERT 45
DELETE 46
HELP 47
0 - 9 48 - 57
A - Z 65 - 90

Appendix D - Key Code List 38
Proprietary
Keyboard Button Name Key Code (Decimal Value)
NUMPAD0 96
NUMPAD1 97
NUMPAD2 98
NUMPAD3 99
NUMPAD4 100
NUMPAD5 101
NUMPAD6 102
NUMPAD7 103
NUMPAD8 104
NUMPAD9 105
MULTIPLY 106
ADD 107
SEPARATOR 108
SUBTRACT 109
DECIMAL 110
DIVIDE 111
F1 112
F2 113
F3 114
F4 115
F5 116
F6 117
F7 118
F8 119
F9 120
F10 121
F11 122
F12 123
F13 124
F14 125
F15 126
F16 127
F17 128
F18 129

Appendix D - Key Code List 39
Proprietary
Keyboard Button Name Key Code (Decimal Value)
F19 130
F20 131
F21 132
F22 133
F23 134
F24 135
NUMLOCK 144
SCROLL 145