Free Fingerprint Verification SDK
Free Fingerprint Verification SDK
Table of Contents
Preface 1
Copyright Notice 1
Questions 1
Feedback 1
Introduction 2
About This Guide 2
How the Guide Is Organized 2
Target Audience 2
Additional Resources 2
About Neurotechnology 3
Free SDK vs. VeriFinger SDK 3
Online Resources 3
System Requirements 4
Fingerprint Scanners 4
Quick Start 5
Terminology 5
Fingerprints 5
Enrollment 5
Verification 6
Quality Threshold 6
Matching Threshold 6
API Reference 12
C/C++ Reference 12
Nffv Library 12
Nffv Unit 12
Functions 13
Structs, Records, Enums 25
Macros 26
ii
Free Fingerprint Verification SDK 2.0
.NET Reference 26
Neurotec.Biometrics Namespace 27
Classes 27
Nffv Class 27
NffvUser Class 34
Structs, Records, Enums 35
Neurotec.Biometrics.NffvStatus Enumeration 35
Java Reference 36
com.neurotechnology.Nffv Package 36
Classes 36
Nffv Class 37
NffvImage Class 41
NffvUser Class 44
ScannerModule Class 45
Structs, Records, Enums 46
com.neurotechnology.Nffv.NffvStatus Enumeration 46
Distribution Content 48
Error Codes 49
FAQ 51
Index a
iii
1.3 Feedback Free Fingerprint Verification SDK 2.0
SDK 2.0
1 Preface
The brief information about this developer guide.
Version: 2.0.0.0
1.2 Questions
After you have read this developer's guide and the FAQ ( see page 51) chapter and still have more questions or face
troubleshoots in using the Free Fingerprint Verification SDK, please feel free to contact us.
Contacts
• Email: [email protected]. When writing by email thoroughly describe a problem you face. Also you can
attach additional files (eg. screenshots, fingerprint images) which can help solve your problem.
1.3 Feedback
The information in this guide has been thoroughly reviewed and tested, but if you have noticed errors, omissions or have
suggestions for future improvements, please send us feedback via email [email protected].
1
2.2 Additional Resources Free Fingerprint Verification SDK 2.0 About Neurotechnology
2 Introduction
Free Fingerprint Verification SDK allows to develop biometric applications that verify a scanned fingerprint against a
previously stored fingerprint (1-to-1 matching). There is a simple migration path to VeriFinger SDK which is a commercial
SDK that offers state-of-the art proprietary accuracy and speed with more capabilities for software developers.
Free Fingerprint Verification SDK does not allow to develop applications that read fingerprint images from files or perform
fingerprint identification (1-to-many matching). The number of stored fingerprint templates is limited to 10 records in the
application's database. 2
The VeriFinger SDK allows to develop a wide range of biometric applications that identify fingerprints taken from fingerprint
scanner or image files against fingerprints stored in a database (1-to-many matching). Also, the VeriFinger SDK does not
have any limitations on fingerprint database size and allows to develop both standalone PC-based and Web-based
application that use client-server architecture.
The VeriFinger SDK contains a wrapper that allows easy transition from Free Fingerprint Verification SDK to VeriFinger SDK.
Chapter Quick Start ( see page 5) provides a quick introduction to the FFV SDK and discusses how to use a fingerprint
scanner and sample applications. Also fingerprints enrollment and verification operations are explained.
The components for developing applications that uses the functionality of the FFV SDK are defined in chapter API Reference
( see page 12).
Answers to frequently asked questions are reviewed in chapter FAQ ( see page 51).
2
2.2 Additional Resources Free Fingerprint Verification SDK 2.0 Online Resources
Differences between Free Fingerprint Verification SDK and Verifinger SDK are listed in the table below:
* Database template count is a maximum number of fingerprints that can be saved to a database.
If you need more information about VeriFinger SDK, please visit https://www.neurotechnology.com/vf_sdk.html.
3
2.4 Fingerprint Scanners Free Fingerprint Verification SDK 2.0
Link Description
https://www.neurotechnology.com/ The Neurotechnology home page. Provides the
latest news and updates of Neurotechnology
products.
https://download.neurotechnology.com/Scanner_Drivers.zip Fingerprint scanner drivers.
4
3.2 Fingerprints Free Fingerprint Verification SDK 2.0 Enrollment
3 Quick Start
This chapter provides a quick introduction to Free Fingerprint Verification SDK. In this chapter is discussed:
3.1 Terminology
The following two main definitions which are the cornerstone of biometric systems that use fingerprint identification will help
you understand the Neurotechnology Free Fingerprint Verification SDK functionality: 3
• Enrollment ( see page 5) is the process of capturing a person's fingerprint (using a fingerprint capture device). During
the enrollment process the FFV SDK saves a person's fingerprint to a database.
• Verification ( see page 6) is the process when a captured fingerprint is compared to an enrolled fingerprint in order to
determine whether the two match.
Fingerprint enrollment and verification processes are described in detail in chapter Fingerprints ( see page 5).
3.2 Fingerprints
A fingerprint is an impression of the friction ridges of all or any part of the finger. Fingerprint recognition systems use
characteristics from these ridges (they are also called fingerprint features) to differentiate one fingerprint from another. The
Free Fingerprint Verification SDK converts these features to a format (a template) that enables to perform fingerprint
enrollment and verification operations efficiently and qualitatively.
3.2.1 Enrollment
Fingerprint enrollment is a process during which features from a finger are extracted and saved as a fingerprint template for
a future comparison against other fingerprint templates. The following instructions describe a typical fingerprint enrollment
scheme (the same scheme is used in sample applications):
5
3.5 How to Use Fingerprint Scanner Free Fingerprint Verification SDK 2.0
3.2.2 Verification
Fingerprint verification is a process during which a scanned fingerprint is compared with the one saved to a database and is
decided whether the two match. The following scheme is usually used for a fingerprint verification:
In the Free Fingerprint Verification SDK quality threshold can be set using these functions:
//.NET property
public byte QualityThreshold;
//C/C++ function
NResult N_API NffvSetQualityThreshold(NByte value);
Matching threshold should be selected according to the system's development requirements. The default value is 48.
In the Free Fingerprint Verification SDK matching threshold can be set using these functions and properties:
//.NET property
public int MatchingThreshold;
//C/C++ function
NResult N_API NffvSetMatchingThreshold(NInt value);
6
3.6 Using Sample Applications Free Fingerprint Verification SDK 2.0
• Insert a fingerprint scanner into the USB or Ethernet connector on the system where you copied the Free Fingerprint
Verification SDK files.
• Install the scanner drivers whether the one you got from a manufacturer (yours) or download from Neurotechnology's
website.
The sample applications are located in "\Samples" folder. If you want to test the sample application from this folder, you must
first compile or build files from this folder.
• C++ (\Samples\FreeFingerprintVerification\Cpp)
• C# (\Samples\FreeFingerprintVerification\CS)
• VB.NET (\Samples\FreeFingerprintVerification\VB)
• Java (\Samples\FreeFingerprintVerification\Java)
This chapter explains in detail how to use C# sample applications and comments the source code. The usage of samples in
different programming languages are very similar.
Open the solution file using Microsoft Visual Studio located in the folder "\Samples\CS\CSharpSample\CSharpSample.sln".
• AboutForm.cs. This file is used for showing a basic information about a sample application.
• ChooseScannerForm.cs. This file is used for showing a dialog box for selecting a fingerprint scanner.
• SettingsForm.cs. This file is used for showing a form where matching and quality thresholds can be set.
• MainForm.cs. This file contains all the main functionality of the application (also methods for fingerprint enrollment and
verification).
• UserInfoForm.cs. This file contains properties that enable to get or set a user name and fingerprint.
Also you should notice that the solution project contains references to these dynamic-link libraries (DLL):
7
3.6 Using Sample Applications Free Fingerprint Verification SDK 2.0
• Neurotec.dll. This library provides an internal functionality for the FFV SDK. You don't need to use methods from this
library, but it should be included into your solution project.
• Neurotec.Biometrics.Nffv.dll. This library is the main DLL for your solution projects and provides the enrollment and
verification of a fingerprint functionality.
These libraries can be located in the "/bin/Win32_x86" folder of the FFV SDK.
When you have built the sample application solution project and launched it, the dialog box for selecting a scanner appears:
There are listed scanner models supported by the FFV SDK. Select only the scanner models you will use. You should note
that more modules require more time to load.
Enrolled fingerprints will be saved to a database (see a fingerprint database field). You can protect this database by setting a
password. Person's details are saved to users database (in this sample application users database is an Xml file) where a
person's name and his fingerprint ID is saved. You can implement your own users database by adding more fields.
To get the list of scanners supported by the FFV SDK, you can use the following code:
//A string variable which contains a list of scanner modules
private string scannerModules = string.Empty;
After you have selected fingerprint scanners, created databases and pressed the OK button, the main window of the sample
application appears:
8
3.6 Using Sample Applications Free Fingerprint Verification SDK 2.0
Below are listed operation you can do using this sample application:
• Enroll
3
• Verify
• Delete user
• Clear database
• Settings
• About
Now let's discuss these operations in detail and illustrate them using C# source code.
4. Enrolling a fingerprint
With the purpose of enrolling a fingerprint to database a fingerprint scanner should be connected to a computer. The
fingerprint is enrolled by pressing "Enroll" (the dialog box shows up and asks for a name of a person). After the enrollment of
a person's fingerprint has finished you should see a window like this:
A fingerprint image and the name of a person (let's say it is Mr. John) is shown on a window.
9
3.6 Using Sample Applications Free Fingerprint Verification SDK 2.0
pbExtractedImage.Image = engineUser.GetBitmap(); 3
lbDatabase.Items.Add(new ListBoxImage.CData(engineUser, userName));
lbDatabase.SelectedIndex = lbDatabase.Items.Count - 1;
}
else
{
NffvStatus engineStatus = enrollmentResult.engineStatus;
MessageBox.Show(string.Format("Enrollment was not finished. Reason: {0}",
engineStatus));
}
}
5. Verifying a fingerprint
When you need to verify a person's fingerprint with the one that was enrolled to a database you should select a database
record and press the "Verify" button. After your fingerprint is scanned the verification is made. If the two fingerprints are
identical, the matching score is shown. Otherwise, a message box announcing that fingerprints are not identical is shown.
10
3.6 Using Sample Applications Free Fingerprint Verification SDK 2.0
_userDB.WriteToFile(_userDatabaseFile);
}
catch { }
_engine.Users.RemoveAt(lbDatabase.SelectedIndex);
lbDatabase.Items.RemoveAt(lbDatabase.SelectedIndex);
}
}
7. Clearing a database
When you need to delete all records from a database you can use this C# method:
//Fields
Nffv _engine;
private Neurotec.Biometrics.Gui.ListBoxImage lbDatabase;
UserDatabase _userDB;
//Clears a database
_engine.Users.Clear();
lbDatabase.Items.Clear();
_userDB.Clear();
try
{
_userDB.WriteToFile(_userDatabaseFile);
}
catch { }
}
8. Settings
When you press the "Settings" button you will see a window like this:
For more information on setting quality and matching thresholds see chapters Quality Threshold ( see page 6) and
Matching Threshold ( see page 6).
11
4.1 C/C++ Reference Free Fingerprint Verification SDK 2.0 Nffv Library
4 API Reference
This chapter defines the components for developing applications that uses the functionality of the Free Fingerprint
Verification SDK.
Modules
Name Description
.NET Reference ( see page 26) ... more ( see page 26)
Java Reference ( see page 36) ... more ( see page 36)
Remarks
If you are developing your own application using C or C++, you should link Nffv.dll.lib library to your solution project. Also
Nffv.dll library is needed.
4
4.1.1 Nffv Library
Modules
Name Description
Nffv Unit ( see page 12)
Name Description
NffvCancel ( see page 14) Cancels a fingerprint enrollment or verification operation.
NffvClearUsers ( see page 15) Removes all the users which were enrolled to a database.
NffvEnroll ( see page 15) Gets a fingerprint from a scanner and saves it to a database.
NffvFreeMemory ( see page 16) Releases memory allocated by the NffvGetAvailableScannerModules
function..
NffvGetAvailableScannerModulesA Returns available fingerprint scanner modules for usage in the Free
( see page 16) Fingerprint Verification SDK.
NffvGetAvailableScannerModulesW Returns available fingerprint scanner modules for usage in the Free
( see page 16) Fingerprint Verification SDK.
NffvGetErrorMessageA ( see Gets an error message. Use this function for errors handling.
page 17)
NffvGetErrorMessageW ( see Gets an error message. Use this function for errors handling.
page 17)
NffvGetInfoA ( see page 17) Retrieves information about the Nffv library.
12
4.1 C/C++ Reference Free Fingerprint Verification SDK 2.0 Nffv Library
Macros
Name Description
NFFV_MAX_USER_COUNT ( see page 26) The maximum number of users that can be enrolled to a database. 4
Structs, Records, Enums
Name Description
NffvStatus_ ( see page 25) Enumerates enrollment or verification values of the Nffv.
NffvStatus ( see page 25) Enumerates enrollment or verification values of the Nffv.
4.1.1.1.1 Functions
The following table lists functions in this documentation.
Functions
Name Description
NffvCancel ( see page 14) Cancels a fingerprint enrollment or verification operation.
NffvClearUsers ( see page 15) Removes all the users which were enrolled to a database.
NffvEnroll ( see page 15) Gets a fingerprint from a scanner and saves it to a database.
NffvFreeMemory ( see page 16) Releases memory allocated by the NffvGetAvailableScannerModules
function..
NffvGetAvailableScannerModulesA Returns available fingerprint scanner modules for usage in the Free
( see page 16) Fingerprint Verification SDK.
NffvGetAvailableScannerModulesW Returns available fingerprint scanner modules for usage in the Free
( see page 16) Fingerprint Verification SDK.
NffvGetErrorMessageA ( see Gets an error message. Use this function for errors handling.
page 17)
NffvGetErrorMessageW ( see Gets an error message. Use this function for errors handling.
page 17)
NffvGetInfoA ( see page 17) Retrieves information about the Nffv library.
13
4.1 C/C++ Reference Free Fingerprint Verification SDK 2.0 Nffv Library
Module
Nffv Unit ( see page 12)
4
4.1.1.1.1.1 NffvCancel Function
Cancels a fingerprint enrollment or verification operation.
C++
NResult N_API NffvCancel();
Returns
If the function succeeds the return value is N_OK. Otherwise the error code ( see page 49) is returned.
Remarks
This method is useful when the fingerprint enrollment or verification operation take too long. In this case a cancel dialog can
be shown for a user to cancel this operation.
Example
This C++ example demonstrates how to stop an enrollment and verification operation:
//...
//Function for cancelling enrollment and verification
void OnCancelScan()
{
NffvCancel();
}
Container
File: Nffv.h
14
4.1 C/C++ Reference Free Fingerprint Verification SDK 2.0 Nffv Library
C++
NResult N_API NffvClearUsers();
Returns
If the function succeeds, the return value is N_OK. Otherwise, an error code ( see page 49) is returned.
Remarks
This functions removes all the users that were enrolled to a database, so be careful when using this function.
Container
File: Nffv.h
C++
NResult N_API NffvEnroll(NUInt timeout, NffvStatus * pStatus, HNffvUser * phUser);
Parameters
Parameters Description
NUInt timeout [in] Specifies the time in milliseconds after which the
fingerprint scanner stops scanning fingerprint. This usually
happens when a finger is removed from a scanner for longer 4
than timeout milliseconds.
NffvStatus * pStatus [out] Enrollment ( see page 5) status value enumerated by
the NffvStatus ( see page 25) enumeration.
pHUser [out] A pointer to the FFV user object that provides functions
for managing enrolled users.
Returns
If the function succeeds the N_OK value is returned. Otherwise, an error code ( see page 49) is returned.
Example
This C++ code demonstrates how to enroll a user:
UINT CMainForm::EnrollUserThread(LPVOID pParam)
{
EnrollParam *pEnrollParam = (EnrollParam*)pParam;
CMainForm* form = (CMainForm*)pEnrollParam->pMainForm;
pEnrollParam->pBusyForm->Stop();
return 0;
}
Container
File: Nffv.h
15
4.1 C/C++ Reference Free Fingerprint Verification SDK 2.0 Nffv Library
C++
void N_API NffvFreeMemory(void * pBlock);
Parameters
Parameters Description
void * pBlock [out] A pointer to memory block that should be released.
Returns
If the functions succeeds the return value is N_OK. Otherwise, the function returns an error code ( see page 49).
Container
File: Nffv.h
C++
NResult N_API NffvGetAvailableScannerModulesA(NAChar * * pSzValue);
Parameters
Parameters Description
NAChar * * pSzValue [out] A string that contains the list of scanners separated by
semicolons.
4
Returns
If the function succeeds the return value is N_OK. Otherwise, an error code ( see page 49) is returned.
Remarks
This function is an ANSI version of the function.
Container
File: Nffv.h
C++
NResult N_API NffvGetAvailableScannerModulesW(NWChar * * pSzValue);
Parameters
Parameters Description
NWChar * * pSzValue [out] A string that contains the list of scanners separated by
semicolons.
Returns
If the function succeeds the return value is N_OK. Otherwise, an error code ( see page 49) is returned.
Remarks
This function is a Unicode version of the function.
16
4.1 C/C++ Reference Free Fingerprint Verification SDK 2.0 Nffv Library
Container
File: Nffv.h
C++
NInt N_API NffvGetErrorMessageA(NResult code, NAChar * szValue);
Parameters
Parameters Description
NResult code [in] An error code.
NAChar * szValue [out] Pointer to memory block that contains an error
description.
Returns
If the function succeeds the return value is N_OK. Otherwise, an error code ( see page 49) is returned.
Remarks
This function is an ANSI version of the function.
Container
File: Nffv.h
4
4.1.1.1.1.8 NffvGetErrorMessageW Function
Gets an error message. Use this function for errors handling.
C++
NInt N_API NffvGetErrorMessageW(NResult code, NWChar * szValue);
Parameters
Parameters Description
NResult code [in] An error code.
NWChar * szValue [out] Pointer to memory block that contains an error
description.
Returns
If the function succeeds the return value is N_OK. Otherwise, an error code ( see page 49) is returned.
Remarks
This function is a Unicode version of the function.
Container
File: Nffv.h
17
4.1 C/C++ Reference Free Fingerprint Verification SDK 2.0 Nffv Library
C++
NResult N_API NffvGetInfoA(NLibraryInfoA * pValue);
Parameters
Parameters Description
NLibraryInfoA * pValue [out] Pointer to NLibraryInfoA structure that receives library
information.
Returns
If the function succeeds the return value is N_OK. Otherwise, an error code ( see page 49) is returned.
Remarks
This function is an ANSI version of the function.
Container
File: Nffv.h
C++
NResult N_API NffvGetInfoW(NLibraryInfoW * pValue);
Parameters
Parameters Description
NLibraryInfoW * pValue [out] Pointer to NLibraryInfoA structure that receives library 4
information.
Returns
If the function succeeds the return value is N_OK. Otherwise, an error code ( see page 49) is returned.
Remarks
This function is a Unicode version of the function.
Container
File: Nffv.h
C++
NResult N_API NffvGetMatchingThreshold(NInt * pValue);
Parameters
Parameters Description
NInt * pValue [out] Similarity value (matching threshold) for the Nffv.
Values are in range [0, MaxInt]. MaxInt is a maximum integer
value.
Returns
If the function succeeds the return value is N_OK. Otherwise, an error code ( see page 49) is returned.
18
4.1 C/C++ Reference Free Fingerprint Verification SDK 2.0 Nffv Library
Remarks
For more information about the matching threshold, please read chapter Matching Threshold ( see page 6).
Container
File: Nffv.h
C++
NResult N_API NffvGetQualityThreshold(NByte * pValue);
Parameters
Parameters Description
NByte * pValue [out] Quality threshold. The value is in range [0, 255].
Returns
If the function succeeds the return value is N_OK. Otherwise, an error code ( see page 49) is returned.
Remarks
For more information about the quality threshold, please read chapter Quality Threshold ( see page 6).
Container
File: Nffv.h
C++
NResult N_API NffvGetUser(NInt index, HNffvUser * pValue);
Parameters
Parameters Description
NInt index [in] An index of a user who was enrolled to a database.
HNffvUser * pValue [out] Information about an enrolled user.
Returns
If the function succeeds the return value is N_OK. Otherwise, an error code ( see page 49) is returned.
Remarks
To get an index of a user you can use NffvGetUserIndexById ( see page 20) function.
Container
File: Nffv.h
19
4.1 C/C++ Reference Free Fingerprint Verification SDK 2.0 Nffv Library
C++
NResult N_API NffvGetUserById(NInt id, HNffvUser * pValue);
Parameters
Parameters Description
NInt id [in] User's identification number in a database. This Id is
always unique.
HNffvUser * pValue [out] Information about a user who was enrolled to a
database.
Returns
If the function succeeds the return value is N_OK. Otherwise, an error code ( see page 49) is returned.
Container
File: Nffv.h
C++
NResult N_API NffvGetUserCount(NInt * pValue);
Parameters
Parameters Description
NInt * pValue [out] The number of enrolled users.
Returns 4
If the function succeeds the return value is N_OK. Otherwise, an error code ( see page 49) is returned.
Container
File: Nffv.h
C++
NResult N_API NffvGetUserIndexById(NInt id, NInt * pValue);
Parameters
Parameters Description
NInt id [in] The user Id. This Id is used in a users database.
NInt * pValue [out] An index of a user.
Returns
If the function succeeds the return value is N_OK. Otherwise, an error code ( see page 49) is returned.
Container
File: Nffv.h
20
4.1 C/C++ Reference Free Fingerprint Verification SDK 2.0 Nffv Library
C++
NResult N_API NffvInitializeA(const NAChar * szDbName, const NAChar * szPassword, const
NAChar * szScannerModules);
Parameters
Parameters Description
const NAChar * szDbName [out] The name of a database. This database will be used to
save user fingerprints. The database will be saved to a
working folder (or other folder) as a file.
const NAChar * szPassword [out] A database password. If you don't want to protect a
database by password, use a blank a password.
const NAChar * szScannerModules [out] A list of scanner modules that should be loaded. It is a
list of fingerprint scanners that you will use in your
application.
If the value is an empty string then no scanners are loaded.
If the value is null all scanner modules are loaded.
Each scanner module in a list should be separated by a
semicolon.
Returns
If the function succeeds the return value is N_OK. Otherwise, an error code ( see page 49) is returned.
Remarks
This function is an ANSI version of the function.
4
Container
File: Nffv.h
C++
NResult N_API NffvInitializeW(const NWChar * szDbName, const NWChar * szPassword, const
NWChar * szScannerModules);
Parameters
Parameters Description
const NWChar * szDbName [out] The name of a database. This database will be used to
save user fingerprints. The database will be saved to a
working folder (or other folder) as a file.
const NWChar * szPassword [out] A database password. If you don't want to protect a
database by password, use a blank a password.
const NWChar * szScannerModules [out] A list of scanner modules that should be loaded. It is a
list of fingerprint scanners that you will use in your
application.
If the value is an empty string then no scanners are loaded.
If the value is null all scanner modules are loaded.
Each scanner module in a list should be separated by a
semicolon.
21
4.1 C/C++ Reference Free Fingerprint Verification SDK 2.0 Nffv Library
Returns
If the function succeeds the return value is N_OK. Otherwise, an error code ( see page 49) is returned.
Remarks
This function is Unicode version of the function.
Container
File: Nffv.h
C++
NResult N_API NffvRemoveUser(NInt index);
Parameters
Parameters Description
NInt index [in] An index number of a user that should be removed from
a list.
Returns
If the function succeeds the return value is N_OK. Otherwise, an error code ( see page 49) is returned.
Remarks
All enrolled users during the execution of an application are loaded from a database to a list.
Container 4
File: Nffv.h
C++
NResult N_API NffvSetMatchingThreshold(NInt value);
Parameters
Parameters Description
NInt value [in] Similarity value (matching threshold) to set.
Returns
If the function succeeds the return value is N_OK. Otherwise, an error code ( see page 49) is returned.
Remarks
For more information about the matching threshold, please read chapter Matching Threshold ( see page 6).
Container
File: Nffv.h
22
4.1 C/C++ Reference Free Fingerprint Verification SDK 2.0 Nffv Library
C++
NResult N_API NffvSetQualityThreshold(NByte value);
Parameters
Parameters Description
NByte value [in] Quality threshold to set.
Returns
If the function succeeds the return value is N_OK. Otherwise, an error code ( see page 49) is returned.
Remarks
For more information about the quality threshold, please read chapter Quality Threshold ( see page 6).
Container
File: Nffv.h
C++
void N_API NffvUninitialize(); 4
Returns
If the functions succeeds the return value is N_OK. Otherwise, the function returns an error code ( see page 49).
Container
File: Nffv.h
C++
NResult N_API NffvUserGetHBitmap(HNffvUser hUser, NHandle * phBitmap);
Parameters
Parameters Description
HNffvUser hUser [in] A handle to NffvUser ( see page 25) object which is
used to manage users.
pHBitmap [out] A handle to a bitmap of the last scanned fingerprint.
Returns
If the function succeeds the return value is N_OK. Otherwise, an error code ( see page 49) is returned.
Container
File: Nffv.h
23
4.1 C/C++ Reference Free Fingerprint Verification SDK 2.0 Nffv Library
C++
NResult N_API NffvUserGetId(HNffvUser hUser, NInt * pValue);
Parameters
Parameters Description
HNffvUser hUser [in] Handle to NffvUser.
NInt * pValue [out] User Id.
Returns
If the function succeeds the return value is N_OK. Otherwise, an error code ( see page 49) is returned.
Container
File: Nffv.h
C++
NResult N_API NffvVerify(HNffvUser hUser, NUInt timeout, NffvStatus * pStatus, NInt *
pScore);
Parameters 4
Parameters Description
HNffvUser hUser [in] A handle to a database record that should be matched
with the scanned fingerprint.
NUInt timeout [in] Specifies the time in milliseconds after which the
fingerprint scanner stops scanning fingerprint. This usually
happens when a finger is removed from a scanner for longer
than timeout milliseconds.
NffvStatus * pStatus [out] One of the verification status values enumerated in
NffvStatus ( see page 25).
NInt * pScore [out] A matching score of two fingerprints verification.
Returns
If the function succeeds the return value is N_OK. Otherwise, an error code ( see page 49) is returned.
Example
This C++ example demonstrates how to verify two fingerprints:
UINT CMainForm::VerifyUserThread(LPVOID pParam)
{
VerifyParam *pVerifyParam = (VerifyParam*)pParam;
CMainForm* form = ((CMainForm*)pVerifyParam->pMainForm);
pVerifyParam->pBusyForm->Stop();
24
4.1 C/C++ Reference Free Fingerprint Verification SDK 2.0 Nffv Library
Container
File: Nffv.h
Enumerations
Name Description
NffvStatus_ ( see page 25) Enumerates enrollment or verification values of the Nffv.
NffvStatus ( see page 25) Enumerates enrollment or verification values of the Nffv.
Module
Nffv Unit ( see page 12)
C++
enum NffvStatus_ {
nfesTemplateCreated = 1,
nfesNoScanner = 2,
nfesScannerTimeout = 3,
nfesUserCanceled = 4,
nfesQualityCheckFailed = 100
}; 4
Members
Members Description
nfesTemplateCreated = 1 Indicates that the fingerprint template was created.
nfesNoScanner = 2 Indicates that there is no fingerprint scanner connected.
nfesScannerTimeout = 3 Indicates that the fingerprint scanner has reached the
timeout.
nfesUserCanceled = 4 Indicates that a user has canceled a fingerprint scanning.
nfesQualityCheckFailed = 100 Indicates that the Free Fingerprint Verification SDK had
failed to check the quality of a fingerprint.
Container
File: Nffv.h
C++
typedef enum NffvStatus_ {
nfesTemplateCreated = 1,
nfesNoScanner = 2,
nfesScannerTimeout = 3,
nfesUserCanceled = 4,
nfesQualityCheckFailed = 100
} NffvStatus;
25
4.2 .NET Reference Free Fingerprint Verification SDK 2.0
Members
Members Description
nfesTemplateCreated = 1 Indicates that the fingerprint template was created.
nfesNoScanner = 2 Indicates that there is no fingerprint scanner connected.
nfesScannerTimeout = 3 Indicates that the fingerprint scanner has reached the
timeout.
nfesUserCanceled = 4 Indicates that a user has canceled a fingerprint scanning.
nfesQualityCheckFailed = 100 Indicates that the Free Fingerprint Verification SDK had
failed to check the quality of a fingerprint.
Container
File: Nffv.h
4.1.1.1.3 Macros
The following table lists macros in this documentation.
Macros
Name Description
NFFV_MAX_USER_COUNT ( see page 26) The maximum number of users that can be enrolled to a database.
Module
Nffv Unit ( see page 12)
C++
#define NFFV_MAX_USER_COUNT 10
Notes
You can not change this value.
Container
File: Nffv.h
Remarks
If you are developing your own application using one of a .NET programming language, you should include this dynamic-link
library into your biometric solution project:
• Neurotec.Biometrics.Nffv.dll (contains enrollment and verification methods). This Dll is a wrapper of the Nffv.dll.
Nffv.dll file should be located in the same folder as Neurotec.Biometrics.Nffv.dll. Also NffvServer.exe is required for using
Neurotec.Biometrics.Nffv.dll.
26
4.2 .NET Reference Free Fingerprint Verification SDK 2.0 Neurotec.Biometrics Namespace
Namespaces
Name Description
Neurotec.Biometrics ( see page 27) Contains classes and methods that provide the Free Fingerprint
Verification SDK functionality.
Module
.NET Reference ( see page 26)
Classes
Name Description
Nffv ( see page 27) The main class of the Free Fingerprint Verification SDK. Provides
methods and properties for working with user collection and enrolling or
verifying user fingerprints.
NffvUser ( see page 34) Provides methods and properties for working with users.
Name Description
NffvStatus ( see page 35) Enumerates enrollment or verification status values.
4.2.1.1 Classes 4
The following table lists classes in this documentation.
Classes
Name Description
Nffv ( see page 27) The main class of the Free Fingerprint Verification SDK. Provides
methods and properties for working with user collection and enrolling or
verifying user fingerprints.
NffvUser ( see page 34) Provides methods and properties for working with users.
C#
public class Nffv : MarshalByRefObject, IDisposable;
Class Hierarchy
Methods
Name Description
Nffv ( see page 28) Initializes a new instance of the Nffv class. During the initialization a new
database is created or used previously created.
Nffv Classes
Name Description
UserCollection ( see page 29) Represents a collection of NffvUsers objects that represent the user
fingerprints enrolled to a database.
27
4.2 .NET Reference Free Fingerprint Verification SDK 2.0 Neurotec.Biometrics Namespace
Nffv Fields
Name Description
DllName ( see page 31) The name of a dynamic-linked library which contains unmanaged
functionality of the Free Fingerprint Verification SDK.
MaxUserCount ( see page 31) The maximum number of users that can be enrolled to a database.
Nffv Methods
Name Description
Cancel ( see page 32) Cancels a fingerprint enrollment or verification operation.
Dispose ( see page 32) Disposes resources used by the Nffv.
Enroll ( see page 32) Gets a fingerprint from a scanner and saves it to a database.
GetAvailableScannerModules ( Returns available fingerprint scanner modules for usage in the Free
see page 33) Fingerprint Verification SDK.
GetUserById ( see page 33) Returns a user details by the Id from the UserCollection ( see page 29).
Verify ( see page 33) Compares a captured fingerprint with the one that was enrolled to a
database before in order to determine whether two match.
Nffv Properties
Name Description
MatchingThreshold ( see page 34) Gets or sets the minimum similarity value that verification method uses to
determine whether the fingerprint matches.
QualityThreshold ( see page 34) Gets or sets image quality threshold.
Container
File: Nffv.cs
C#
public Nffv(string dbName, string password);
Parameters
Parameters Description
string dbName A name of database. This database will be used to save user
fingerprints. The database will be saved to a working folder
as a file.
string password A database password. If you don't want to protect a
database by password, use an empty string as a password.
Example
This C# example code demonstrates how to create a new instance of the Nffv calss.
string dbName = "FingerprintsDatabase.dat";
string password = "passwd";
28
4.2 .NET Reference Free Fingerprint Verification SDK 2.0 Neurotec.Biometrics Namespace
C#
public Nffv(string dbName, string password, string scannerModules);
Parameters
Parameters Description
string dbName A name of database. This database will be used to save user
fingerprints. The database will be saved to a working folder
as a file.
string password A database password. If you don't want to protect a
database by password, use an empty string as a password.
string scannerModules A list of scanner modules that should be loaded. It is a list of
fingerprint scanners that you will use in your application.
Each fingerprint scanner's name in the scanner module is
separated by semicolon.
Remarks
For the list of available fingerprint scanners see a chapter Supported Scanners.
Example
4
This C# example code demonstrates how to create a new instance of the Nffv calss.
string dbName = "FingerprintsDatabase.dat";
string password = "passwd";
string scanners = "Upek;Futronic";
C#
[Serializable]
public sealed class UserCollection : CollectionBase;
Class Hierarchy
29
4.2 .NET Reference Free Fingerprint Verification SDK 2.0 Neurotec.Biometrics Namespace
Notes
This class is a sealed class, so it has a limited extensibility (other classes cannot inherit from it).
UserCollection Methods
Name Description
Add ( see page 30) Adds a user to a UserCollection.
Contains ( see page 30) Returns a Boolean value indicating whether a UserCollection object
contains an element with a specified key.
IndexOf ( see page 31) Returns an index of the UserCollection item specified by Id.
Container
File: Nffv.cs
C#
internal NffvUser Add(IntPtr hUser);
Parameters
Parameters Description
IntPtr hUser A reference to an object that represents a user which should 4
be added to a collection.
Example
To add a user to database you can use this C# code:
public class UserEnrollment
{
UserDatabase _userDB;
_userDB.Add(new UserRecord(engineUser.Id, userName));
}
C#
public bool Contains(int id);
30
4.2 .NET Reference Free Fingerprint Verification SDK 2.0 Neurotec.Biometrics Namespace
Parameters
Parameters Description
int id An integer value that specifies the Id for which to search the
element of the collection.
Returns
A Boolean value indicating whether the UserCollection ( see page 29) contains an elements with the specified Id.
If the return value is True, the collection contains an element with an Id specified. Otherwise, the return value is False.
Example
This C# example demonstrates how to use this method:
int id = 3;
if UserCollection.Contains(id)
MsgBox("The desired user is in collection");
else
MsgBox("The desired user was not find in a collection");
The VB.NET code this method:
Dim id As Integer = 3
If UserCollection.Contains(id) Then
MsgBox("The desired user is in the collection.")
Else
MsgBox("The desired user was not find in the collection.")
End If
Parameters Description
int id The Id of a user to search in a collection.
Returns
A collection index of a user specified by Id.
C#
public const string DllName = "Nffv.dll";
C#
public const int MaxUserCount = 10;
Remarks
You can add up-to 10 users to a database.
31
4.2 .NET Reference Free Fingerprint Verification SDK 2.0 Neurotec.Biometrics Namespace
C#
public void Cancel();
Remarks
This method is useful when the fingerprint enrollment or verification operation take too long. In this case a message box can
be shown for a user to cancel this operation.
Example
This C# code demonstrates how to cancel enrollment or verification operation:
Nffv engine;
engine.Cancel();
The same code using VB.NET notation:
Private engine As Nffv
engine.Cancel()
C#
public void Dispose();
4
4.2.1.1.1.4.3 Nffv.Enroll Method
Gets a fingerprint from a scanner and saves it to a database.
C#
public NffvUser Enroll(uint timeout, out NffvStatus status);
Parameters
Parameters Description
uint timeout Specifies the time in milliseconds after which the fingerprint
scanner stops scanning fingerprint. This usually happens
when a finger is removed from a scanner for longer than
timeout milliseconds.
out NffvStatus status Enrollment ( see page 5) status value indicated by one of
the value enumerated in NffvStatus ( see page 35).
Returns
A reference to NffvUser ( see page 34) object which provides methods for managing enrolled users.
If there were problem enrolling a fingerprint, the method returns a zero pointer.
Example
This C# example demonstrates the usage of the Enroll method:
//Field that holds a reference to Nffv object
Nffv engine;
32
4.2 .NET Reference Free Fingerprint Verification SDK 2.0 Neurotec.Biometrics Namespace
C#
public static string GetAvailableScannerModules();
Returns
A string that contains the list of scanners separated by semicolons.
C#
public NffvUser GetUserById(int id);
Parameters
Parameters Description
int id User's identification number in a collection.
Returns 4
A reference to the NffvUser ( see page 34) object that contains an information about a user indicated by Id.
C#
public int Verify(NffvUser user, uint timeout, out NffvStatus status);
Parameters
Parameters Description
NffvUser user A reference to a database record that should be matched
with the scanned fingerprint.
uint timeout Specifies the time in milliseconds after which the fingerprint
scanner stops scanning fingerprint. This usually happens
when a finger is removed from a scanner for longer than
timeout milliseconds.
out NffvStatus status The verification status value indicated by one of the value
enumerated in NffvStatus ( see page 35).
Returns
This function returns a matching score.
Example
This C# sample code demonstrates how to verify two fingerprints.
Nffv engine;
33
4.2 .NET Reference Free Fingerprint Verification SDK 2.0 Neurotec.Biometrics Namespace
C#
public int MatchingThreshold;
Property value
The minimum similarity value that verification function accept for the same finger fingerprints. The default value is 0.01 %.
C#
public byte QualityThreshold;
Property value
The fingerprint quality threshold. The value should be in range [0, 255]. The default value is 100.
C#
public sealed class NffvUser : MarshalByRefObject;
Class Hierarchy
NffvUser Methods
Name Description
GetBitmap ( see page 35) Returns the bitmap of the last scanned fingerprint.
GetHBitmap ( see page 35) Returns a handle to the bitmap of the last scanned fingerprint.
Container
File: NffvUser.cs
34
4.2 .NET Reference Free Fingerprint Verification SDK 2.0 Neurotec.Biometrics Namespace
C#
public Bitmap GetBitmap();
Returns
A Bitmap object.
C#
public IntPtr GetHBitmap();
Returns
A pointer to Bitmap object.
Enumerations
Name Description 4
NffvStatus ( see page 35) Enumerates enrollment or verification status values.
C#
[Serializable]
public enum NffvStatus {
TemplateCreated = 1,
NoScanner = 2,
ScannerTimeout = 3,
UserCanceled = 4,
QualityCheckFailed = 100
}
Members
Members Description
TemplateCreated = 1 Indicates that the fingerprint template was created.
NoScanner = 2 Indicates that there is no fingerprint scanner connected.
ScannerTimeout = 3 Indicates that the fingerprint scanner has reached the
timeout.
UserCanceled = 4 Indicates that a user has canceled a fingerprint scanning.
QualityCheckFailed = 100 Indicates that the Free Fingerprint Verification SDK had
failed to check the quality of a fingerprint.
Container
File: Nffv.cs
35
4.3 Java Reference Free Fingerprint Verification SDK 2.0 com.neurotechnology.Nffv Package
Notes
A 32-bit JVM needs to be used to execute NffvSample.jar.
Packages
Name Description
com.neurotechnology.Nffv ( see page 36) Classes under this namespace provides methods for the
com.neurotechnology.Nffv ( see page 37) library.
Module
Java Reference ( see page 36)
Classes 4
Name Description
Nffv ( see page 37) The main class of the Free Fingerprint Verification SDK. Provides
methods and properties for working with users list and enrolling or
verifying user fingerprints.
NffvImage ( see page 41) Provides methods for managing images.
NffvUser ( see page 44) Provides methods for working with users.
ScannerModule ( see page 45) Provides methods for setting and getting scanner names from the
ScannerModule.
Name Description
NffvStatus ( see page 46) Enumerates NffvStatus values.
4.3.1.1 Classes
The following table lists classes in this documentation.
Classes
Name Description
Nffv ( see page 37) The main class of the Free Fingerprint Verification SDK. Provides
methods and properties for working with users list and enrolling or
verifying user fingerprints.
NffvImage ( see page 41) Provides methods for managing images.
NffvUser ( see page 44) Provides methods for working with users.
ScannerModule ( see page 45) Provides methods for setting and getting scanner names from the
ScannerModule.
36
4.3 Java Reference Free Fingerprint Verification SDK 2.0 com.neurotechnology.Nffv Package
Class Hierarchy
Java
public class Nffv;
Methods
Name Description
Nffv ( see page 37) Creates a new instance of the Nffv.
Nffv Methods
Name Description
clearUsers ( see page 38) Removes all users from a database.
contains ( see page 38) Checks if the database contains a concrete user.
enroll ( see page 38) Gets a fingerprint from a scanner and saves it to a database.
finalize ( see page 38) Implements standard Java method used by the garbage collector.
getAvailableScannerModules ( Returns available fingerprint scanner modules for usage in the Free
see page 38) Fingerprint Verification SDK.
getEngineStatus ( see page 39) Gets status information of the com.neurotechnology.Nffv ( see page
36).
getMatchingThreshold ( see page Gets the minimum similarity value that verification function uses to
39) determine whether the fingerprint matches.
getMaxUserCount ( see page 39) The maximum number of users that can be enrolled to a database.
getQualityThreshold ( see page Gets image quality threshold. 4
39)
getUserByID ( see page 39) Returns a user details by the Id.
getUsers ( see page 40) Gets a list of users enrolled to a database.
removeUser ( see page 40) Removes a concrete user from a database.
removeUserID ( see page 40) Removes user's ID.
setEngineStatus ( see page 40) Sets status information for the com.neurotechnology.Nffv ( see page
36).
setIntEngineStatus ( see page 40) Sets status information for the com.neurotechnology.Nffv ( see page
36).
setMatchingThreshold ( see page Sets the minimum similarity value that verification function uses to
40) determine whether the fingerprint matches.
setQualityThreshold ( see page Sets image quality threshold.
41)
verify ( see page 41) Compares a captured fingerprint with the one that was enrolled to a
database before in order to determine whether two match.
Container
File: Nffv.java
37
4.3 Java Reference Free Fingerprint Verification SDK 2.0 com.neurotechnology.Nffv Package
Parameters
Parameters Description
String database Name of a database,
String password Password for a database.
ScannerModule[] scannerModules List of scanner modules that should be loaded.
Java
public Nffv(String database, String password, ScannerModule[] scannerModules);
Java
public void clearUsers();
Parameters
Parameters Description
NffvUser user User details to check.
Returns
Boolean value indicating if a database contains a concrete user.
Java
4
public boolean contains(NffvUser user);
Parameters
Parameters Description
int timeout Specifies the time in milliseconds after which the fingerprint
scanner stops scanning fingerprint. This usually happens
when a finger is removed from a scanner for longer than
timeout milliseconds.
Returns
NffvUser ( see page 44) object that contains ( see page 38) details of an enrolled user.
Java
public NffvUser enroll(int timeout);
Java
public void finalize() throws Throwable;
38
4.3 Java Reference Free Fingerprint Verification SDK 2.0 com.neurotechnology.Nffv Package
Returns
Array that contains ( see page 38) available scanner modules.
Java
public static ScannerModule getAvailableScannerModules();
Returns
NffvStatus ( see page 46) object that holds information about Nffv ( see page 37).
Java
public NffvStatus getEngineStatus();
Returns
The minimum similarity value that verification function accept for the same finger fingerprints. The default value is 0.01 %.
Java
public int getMatchingThreshold();
Returns
The maximum number of users that can be enrolled to a database.
4
Java
public int getMaxUserCount();
Returns
Returns fingerprint quality threshold. The value should be in range [0, 255]. The default value is 100.
Java
public int getQualityThreshold();
Parameters
Parameters Description
int id User Id.
Returns
NffvUser ( see page 44) object that contains ( see page 38) user details.
Java
public NffvUser getUserByID(int id);
39
4.3 Java Reference Free Fingerprint Verification SDK 2.0 com.neurotechnology.Nffv Package
Returns
List of users that was enrolled to a database.
Java
public List<NffvUser> getUsers();
Parameters
Parameters Description
NffvUser user NffvUser ( see page 44) object that should be removed.
Java
public void removeUser(NffvUser user) throws Exception;
Parameters
Parameters Description
int ID User's ID to remove.
Java
public void removeUserID(int ID); 4
4.3.1.1.1.2.14 Nffv.setEngineStatus Method
Sets status information for the com.neurotechnology.Nffv ( see page 36).
Parameters
Parameters Description
NffvStatus engineStatus NffvStatus ( see page 46) object that holds information to
set.
Java
protected void setEngineStatus(NffvStatus engineStatus);
Parameters
Parameters Description
int engineStatus Number that indicates Nffv ( see page 37) status.
Java
protected void setIntEngineStatus(int engineStatus);
40
4.3 Java Reference Free Fingerprint Verification SDK 2.0 com.neurotechnology.Nffv Package
Parameters
Parameters Description
int value The minimum similarity value that verification function accept
for the same finger fingerprints.
Java
public void setMatchingThreshold(int value);
Parameters
Parameters Description
Image quality threshold to set.
Java
public void setQualityThreshold(int value);
Parameters
Parameters Description
NffvUser user A reference to a database record that should be matched
with the scanned fingerprint.
int timeout Specifies the time in milliseconds after which the fingerprint
scanner stops scanning fingerprint. This usually happens 4
when a finger is removed from a scanner for longer than
timeout milliseconds.
Returns
Matching score.
Java
public int verify(NffvUser user, int timeout);
Class Hierarchy
Java
public class NffvImage;
NffvImage Methods
Name Description
getBufferedImage ( see page 42) Gets a buffered image.
getHeight ( see page 42) Retrieves image height.
getHorizontalResolution ( see Gets the horizontal resolution of the image.
page 42)
getImageData ( see page 42) Gets an image data as a byte array.
getImageIcon ( see page 43) Get an image icon.
getStride ( see page 43) Gets the stride (size of one row) of the image.
41
4.3 Java Reference Free Fingerprint Verification SDK 2.0 com.neurotechnology.Nffv Package
Container
File: NffvImage.java
Returns
Buffered image which contains an accessible buffer of the image.
Java 4
public BufferedImage getBufferedImage();
Returns
Image height in pixels.
Java
public int getHeight();
Returns
Horizontal resolution of image.
Java
public float getHorizontalResolution();
Returns
Byte array that contains image data.
Java
public byte getImageData();
42
4.3 Java Reference Free Fingerprint Verification SDK 2.0 com.neurotechnology.Nffv Package
Returns
An icon of the image.
Java
public ImageIcon getImageIcon();
Returns
Image stride.
Java
public int getStride();
Returns
Vertical resolution of image.
Java
public float getVerticalResolution();
Returns
Image width in pixels.
Java
public int getWidth();
Parameters
Parameters Description
int height Image height in pixels.
Java
public void setHeight(int height);
Parameters
Parameters Description
float horizontalResolution Horizontal resolution of image to set.
Java
public void setHorizontalResolution(float horizontalResolution);
43
4.3 Java Reference Free Fingerprint Verification SDK 2.0 com.neurotechnology.Nffv Package
Parameters
Parameters Description
byte [] imageData Byte array that contains image data.
Java
public void setImageData(byte [] imageData);
Parameters
Parameters Description
int stride Image stride.
Java
public void setStride(int stride);
Parameters
Parameters Description
float verticalResolution Vertical resolution of image to set.
Java 4
public void setVerticalResolution(float verticalResolution);
Parameters
Parameters Description
int width Image width in pixels.
Java
public void setWidth(int width);
Class Hierarchy
Java
public class NffvUser extends NativeObject;
NffvUser Methods
Name Description
getID ( see page 45) Retrieves from a database user's ID. If a user was disposed or removed
from engine an error is thrown.
getNffvImage ( see page 45) Gets tan Image from the com.neurotechnology.Nffv ( see page 36).
toString ( see page 45) Gets a string representation of object.
44
4.3 Java Reference Free Fingerprint Verification SDK 2.0 com.neurotechnology.Nffv Package
Container
File: NffvUser.java
Returns
User's ID.
Java
public int getID() throws Exception;
Returns
NffvImage ( see page 41) object.
Java
public NffvImage getNffvImage() throws Exception;
Returns
String representation of object.
Java
public String toString();
Class Hierarchy
Java
public class ScannerModule;
Methods
Name Description
ScannerModule ( see page 46) Creates a new instance of the ScannerModule
ScannerModule Methods
Name Description
getName ( see page 46) Gets a fingerprint scanner name.
setName ( see page 46) Sets a name of a fingerprint scanner.
Container
File: ScannerModule.java
45
4.3 Java Reference Free Fingerprint Verification SDK 2.0 com.neurotechnology.Nffv Package
Parameters
Parameters Description
String name A name of a scanner to set.
Java
protected ScannerModule(String name);
Returns
String that contains fingerprint scanner name.
Java
public String getName();
Parameters Description
String name A name of a scanner to set.
Java
protected void setName(String name);
Enumerations
Name Description
NffvStatus ( see page 46) Enumerates NffvStatus values.
Java
public enum NffvStatus {
};
Container
File: NffvStatus.java
46
4.3 Java Reference Free Fingerprint Verification SDK 2.0 com.neurotechnology.Nffv Package
47
5 Free Fingerprint Verification SDK 2.0
5 Distribution Content
The Free Fingerprint Verification SDK contains these files and folders:
/bin
/Win32_x86 - this directory contains files for Windows-based operating systems running on 32-bit x86 CPU. This directory
contains these files:
File Description
CppSample.exe An executable C++ sample application.
CSharpSample.exe An executable C# sample application.
Neurotec.Biometrics.Nffv.dll Provides the main functionality of the FFV SDK. Required Dll is Nffv.dll
Nffv.dll Provides the main functionality of the FFV SDK.
VBNETSample.exe An executable VB.NET sample application.
NffvJavaNative.dll Files for Java sample.
NffvSample.jar
NffvServer.exe Nffv.dll helper.
Recommendations:
1. "FScanners" folder must be located in the same folder as Nffv.dll; "FScanners" folder must contain required scanners
modules.
2. Unused scanner DLL files can be deleted. For example, if CrossMatch is not used, FScanners/NdmCrossMatch folder can
be deleted.
/Documentation
File Description
Free Fingerprint Verification SDK.pdf Documentation file in pdf
5
Free Fingerprint Verification SDK.chm Documentation file in chm
license.html License file
/Lib /Win32_x86 - this directory contains lib files that are used by the Free Fingerprint Verification SDK.
/Samples/FreeFingerprintVerification - this directory contains files for sample applications.Folders under this directory:
Folder Description
CPP This folder contains files for C++ sample application.
CS This folder contains files for C# sample application.
Java This folder contains files for Java sample application.
VB This folder contains files for VB.NET sample application.
48
6 Free Fingerprint Verification SDK 2.0
6 Error Codes
In this chapter the possible error codes are listed:
49
6 Free Fingerprint Verification SDK 2.0
-90 N_E_EXTERNAL Error in external code has occurred (for internal use).
-91 N_E_WIN32 Win32 error has occurred.
-92 N_E_COM COM error has occurred.
-93 N_E_CLR CLR exception has occurred.
-94 N_E_SYS Sys error occurred.
-95 N_E_MAC Mac OS error occurred.
-96 N_E_CPP C++ error occurred.
-97 N_E_JVM JVM error occurred.
-200 N_E_NOT_ACTIVATED Operation is not activated.
50
7 Free Fingerprint Verification SDK 2.0
7 FAQ
There are listed frequently asked questions (FAQ) and answers to them.
1. When I have enrolled 10 users to a database and try to add more users I get an error message "Nffv already
contains NF_ENGINE_MAX_USER_COUNT users. Code: -7". How can I add more users?
The Free Fingerprint Verification SDK allows to add up to 10 users to a database. If you need to add new users, you should
remove other users.
If you have an intention of developing a larger scale application or system with unlimited users count, server or cluster
support, please contact Neurotechnology for guidelines for other products.
No, it is not possible. If you need to save an original fingerprint image, you should buy the VeriFinger SDK.
51
8 Free Fingerprint Verification SDK 2.0
Neurotec.Biometrics.Nffv.MaxUserCount 31
Index Neurotec.Biometrics.Nffv.Nffv 28, 29
Neurotec.Biometrics.Nffv.QualityThreshold 34
. Neurotec.Biometrics.Nffv.UserCollection 29
A Neurotec.Biometrics.Nffv.UserCollection.IndexOf 31
Neurotec.Biometrics.Nffv.Verify 33
API Reference 12
Neurotec.Biometrics.NffvStatus 35
About Neurotechnology 3
Neurotec.Biometrics.NffvStatus enumeration 35
About This Guide 2
Neurotec.Biometrics.NffvUser 34
Additional Resources 2
Neurotec.Biometrics.NffvUser.GetBitmap 35
Neurotec.Biometrics.NffvUser.GetHBitmap 35
C Nffv Library 12
C/C++ Reference 12
Nffv Unit 12
Copyright Notice 1
Functions 13
Distribution Content 48
Macros 26
Enrollment 5
Structs, Records, Enums 25
Error Codes 49
Nffv class 27, 37
FAQ 51
Cancel 32
Feedback 1
Dispose 32
Fingerprint Scanners 4
DllName 31
Fingerprints 5
Enroll 32
Free SDK vs. VeriFinger SDK 3
GetAvailableScannerModules 33
How the Guide Is Organized 2
GetUserById 33
How to Use Fingerprint Scanner 7
MatchingThreshold 34
Introduction 2
MaxUserCount 31
Java Reference 36
Nffv 28, 29, 37
Matching Threshold 6
QualityThreshold 34
NFFV_MAX_USER_COUNT 26
Verify 33
NFFV_MAX_USER_COUNT macro 26
about Nffv class 27, 37
Neurotec.Biometrics 27
clearUsers 38
Neurotec.Biometrics namespace 27
contains 38
Classes 27
enroll 38
Structs, Records, Enums 35
finalize 38
Neurotec.Biometrics.Nffv 27
getAvailableScannerModules 38
Neurotec.Biometrics.Nffv.Cancel 32
getEngineStatus 39
Neurotec.Biometrics.Nffv.Dispose 32
getMatchingThreshold 39
Neurotec.Biometrics.Nffv.DllName 31
getMaxUserCount 39
Neurotec.Biometrics.Nffv.Enroll 32
getQualityThreshold 39
Neurotec.Biometrics.Nffv.GetAvailableScannerModules 33
getUserByID 39
Neurotec.Biometrics.Nffv.GetUserById 33
getUsers 40
Neurotec.Biometrics.Nffv.MatchingThreshold 34
a
8 Free Fingerprint Verification SDK 2.0
removeUser 40 NffvGetUserIndexById 20
removeUserID 40 NffvGetUserIndexById function 20
setEngineStatus 40 NffvImage class 41
setIntEngineStatus 40 about NffvImage class 41
setMatchingThreshold 40 getBufferedImage 42
setQualityThreshold 41 getHeight 42
verify 41 getHorizontalResolution 42
Nffv.UserCollection class 29 getImageData 42
Add 30 getImageIcon 43
Contains 30 getStride 43
IndexOf 31 getVerticalResolution 43
about Nffv.UserCollection class 29 getWidth 43
NffvCancel 14 setHeight 43
NffvCancel function 14 setHorizontalResolution 43
NffvClearUsers 15 setImageData 44
NffvClearUsers function 15 setStride 44
NffvEnroll 15 setVerticalResolution 44
NffvEnroll function 15 setWidth 44
NffvFreeMemory 16 NffvInitializeA 21
NffvFreeMemory function 16 NffvInitializeA function 21
NffvGetAvailableScannerModulesA 16 NffvInitializeW 21
NffvGetAvailableScannerModulesA function 16 NffvInitializeW function 21
NffvGetAvailableScannerModulesW 16 NffvRemoveUser 22
NffvGetAvailableScannerModulesW function 16 NffvRemoveUser function 22
NffvGetErrorMessageA 17 NffvSetMatchingThreshold 22
NffvGetErrorMessageA function 17 NffvSetMatchingThreshold function 22
NffvGetErrorMessageW 17 NffvSetQualityThreshold 23
NffvGetErrorMessageW function 17 NffvSetQualityThreshold function 23
NffvGetInfoA 17 NffvStatus 25
NffvGetInfoA function 17 NffvStatus Enumeration 25
NffvGetInfoW 18 NffvStatus_ 25
NffvGetInfoW function 18 NffvStatus_ enumeration 25
NffvGetMatchingThreshold 18 NffvUninitialize 23
NffvGetMatchingThreshold function 18 NffvUninitialize function 23
NffvGetQualityThreshold 19 NffvUser class 34, 44
NffvGetQualityThreshold function 19 GetBitmap 35
NffvGetUser 19 GetHBitmap 35
NffvGetUser function 19 about NffvUser class 34, 44
NffvGetUserById 19 getID 45
NffvGetUserById function 19 getNffvImage 45
NffvGetUserCount 20 toString 45
NffvGetUserCount function 20 NffvUserGetHBitmap 23
b
8 Free Fingerprint Verification SDK 2.0