U.are.U SDK: Platform Guide For Windows
U.are.U SDK: Platform Guide For Windows
U.are.U SDK: Platform Guide For Windows
U.are.U SDK
Version 2.x
DigitalPersona, Inc.
2012 DigitalPersona, Inc. All Rights Reserved.
All intellectual property rights in the DigitalPersona software, firmware, hardware and documentation included with or
described in this guide are owned by DigitalPersona or its suppliers and are protected by United States copyright laws,
other applicable copyright laws, and international treaty provisions. DigitalPersona and its suppliers retain all rights not
expressly granted.
U.are.U and DigitalPersona are trademarks of DigitalPersona, Inc. registered in the United States and other countries.
Windows, Windows Server 2003/2008, Windows Vista, Windows 7 and Windows XP are registered trademarks of Microsoft
Corporation. All other trademarks are the property of their respective owners.
This DigitalPersona U.are.U SDK PLatform Guide for Windows and the software it describes are furnished under license as
set forth in the License Agreement.
Except as permitted by such license, no part of this document may be reproduced, stored, transmitted and translated, in
any form and by any means, without the prior written consent of DigitalPersona. The contents of this manual are furnished
for informational use only and are subject to change without notice.
Any mention of third-party companies and products is for demonstration purposes only and constitutes neither an
endorsement nor a recommendation. DigitalPersona assumes no responsibility with regard to the performance or use of
these third-party products.
DigitalPersona makes every effort to ensure the accuracy of its documentation and assumes no responsibility or liability
for any errors or inaccuracies that may appear in it.
Technical Support
The DigitalPersona web site provides online technical support at http://www.digitalpersona.com/support. You can also
access our free support forum at any time at http://www.digitalpersona.com/webforums.
Feedback
Although the information in this guide has been thoroughly reviewed and tested, we welcome your feedback on any
errors, omissions, or suggestions for future improvements. Please contact us at
[email protected]
or
DigitalPersona, Inc.
720 Bay Road, Suite 100
Redwood City, California 94063
USA
(650) 474-4000
(650) 298-8313 Fax
Document Publication Date: June 28, 2012 (2.1 with Java, .NET and ActiveX)
Table of Contents
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Getting Updated Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Installing on the Development and Target Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Step 1: Installing on the Development System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Step 2: Installing on the Target Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Authentication Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Uninstalling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
16
16
16
17
18
19
19
20
22
23
24
24
24
24
25
26
26
26
27
iii
Table of Contents
Selecting a Reader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Enrolling a Finger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Identifying a Fingerprint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verifying a Fingerprint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Using the Capture and Streaming Feature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
28
30
31
32
33
iv
Introduction
This manual describes how to use the U.are.U SDK to develop applications for devices based on Microsoft
Windows. The U.are.U SDK is available for multiple platforms and this document describes issues specific to
developing applications for devices based on Microsoft Windows.
Chapter 2, Installation provides instructions for installing on your development system and on the target
(Windows) reader.
Chapter 3, Developing Applications with C/C++ lists system requirements for developing and running
applications in C/C++ and describes the sample application.
Chapter 4, Developing Applications with .NET lists system requirements for developing and running applications
with .NET and describes the .NET sample application.
Chapter 5, Developing Applications with ActiveX / .NET lists system requirements for developing and running
applications using Active and other ActiveX notes.
Chapter 6, Developing Applications with Java lists system requirements for developing and running applications
using Java, provides additional installation instructions and describes the Java sample application.
For a detailed description of the SDK, consult the U.are.U SDK Developer Guide.
Installation
Except as noted in the platform/language-specific chapters, the installation process is the same for
development on all Windows-based fingerprint capture devices.
Chapter 2: Installation
Chapter 2: Installation
Java
dpuareu.jar
win32
dpfj.dll
dpfj.lib
dpfpdd.dll
dpfpdd.lib
dpuareu_jni.dll
x64
dpfj.dll
dpfj.lib
dpfpdd.dll
dpfpdd.lib
dpuareu_jni.dll
Samples
Bin
.NET
UareUsampleCSharp.exe
win32
UareUSample2010.exe
x64
UareUSample2010.exe
Java
run_win32.bat
run_x64.bat
UareUSampleJava.jar
Include
<WTL80, needed to compile C++ sample code>
UareUSample
<C++ sample code>
UareUSampleCSharp
<C# sample code>
UareUSampleJava
<Java sample code>
Chapter 2: Installation
Chapter 2: Installation
Authentication Service
DPFPApi.dll
dpfpdd.dll
Program Files (x86)\DigitalPersona\Pro Workstation\Bin
DPAppSyn.dll
DPCms.dll
DPDevTS.dll
DpFnd2.dll
DPJasPer.dll
DPPTUtils.dll
Authentication Service
The installation process installs and registers a service named Authentication Service on both the target and
development systems. The service can be managed in the regular way via the Services Control Applet in the
Microsoft Management Console by running services.msc as Administrator. This service provides
fingerprint capture. If your application only uses FingerJet Engine, than its not necessary to run the service.
Uninstalling
If you need to uninstall the SDK or RTE, use the installation applet in the Control Panel.
10
Pre-Requisites
This chapter assumes that you have a working knowledge of C/C++ and that you know how to develop for
Windows readers.
System Requirements
Development System
Intel x86 architecture with CPU from 600MHz and at least 16MB of available RAM
Intel x64 (x86-64) architecture with CPU from 600MHz and at least 16MB of available RAM
x64
5.0 MB
5.5 MB
160 KB
220 KB
a USB port
16 Mb free memory
The SDK works on a variety of hardware and is intended to have a small footprint so that it can run even on
minimal hardware. Less capable hardware will work, but response time may not be optimal.
11
The application demonstrates the features of the SDK. When you launch the application, you see the main
screen as shown below.
Click on Reader Selection to open a reader. All available readers will be displayed, as shown on the screen
below.
12
Clicking on the Get reader capabilities button will display additional information about the selected reader, as
shown below.
Click OK to return to the previous screen. Click OK to select the reader. At the point, you are returned to the
main screen and all of the buttons are enabled.
Click on the Capture button to put the reader into capture mode and you can press your finger onto the reader
to capture a fingerprint and display it on the screen as shown below.
13
To see a demonstration of the streaming feature, click on the Streaming button to put the reader into
streaming mode and you can press your finger onto the reader to capture a fingerprint and display it on the
screen as shown below.
After you click on Back, you can click on the Verification button next. You will be prompted to put your finger
onto the reader. Then you can put a second finger on the reader. If you use the same finger, you will see a
message that the fingerprints matched, as shown below.
When you click on Back you will return to the main screen.
14
Click on Identification to test the next component of the sample program. You will be prompted to provide a
thumbprint, index finger, etc. Then you will be prompted to provide another finger and you will receive a
message indicating if there was a match and which finger was detected, as shown in the image below.
This feature simply captures a fingerprint, creates a FMD, and displays a message on the screen to confirm that
it was successful.
Note that if you unplug the reader, you will receive an error message and the associated error code.
15
Pre-Requisites
This chapter assumes that you have a working knowledge of .NET and that you know how to develop for
Windows readers. You must also have tools and knowledge for your target language (typically C# or Visual
Basic).
System Requirements
Development System
Intel x86 architecture with CPU from 600MHz and at least 96MB of available RAM
Intel x64 (x86-64) architecture with CPU from 600MHz and at least 96MB of available RAM
a USB port
The SDK works on a variety of hardware and is intended to have a small footprint so that it can run even on
minimal hardware. Less capable hardware will work, but response time may not be optimal.
16
How to use the streaming feature to display live fingerprint data on the screen
17
Enrolling a Finger
Enrolling a Finger
Click on Enroll to begin enrolling the first test subject.
You will be prompted to scan the first finger for enrollment, as shown below.
After that finger is successfully scanned, you will be prompted to scan a second finger. The sample application
will prompt you to scan additional fingers until a sufficient number of high quality scans are complete. (The
number of fingers requested will vary depending on the image scans - the enrollment functions will continue
to request scans until an acceptable enrollment record has been created.
Once the enrollment is complete, you will see confirmation that the enrollment process is finished, as shown in
the screen below. In this case, three fingerprint scans were sufficient.
18
Identifying a Fingerprint
Identifying a Fingerprint
To test the identification feature, click on the Identify button. Recall that identification is a 1-to-many
comparison where the application searches through all of the enrolled fingers to find a match. When you click
the Identify button, you will be prompted to place your finger on the reader. If you press an enrolled finger on
the reader, you will see that a match was found. In the screen image below, we have tried to identify two fingers
-- neither identification succeeded -- the fingers were not enrolled.
Verifying a Fingerprint
To test the verification feature, click on the Verify button. Recall that verification is a 1-to-1 comparison where
the application matches against a specified fingerprint. When you click the Verify button, you will be
prompted to place your finger on the reader. As with the identification example above, in the screen below, we
have tried to verify two fingers -- the first verification succeeded and the second attempt was a finger that was
not enrolled.
19
If you click on a finger, for example the index finger of the right hand, you will be prompted:
20
As you scan your finger, you can see the events and status information on the right in the window, as shown
below.
If you click on the Cancel button on this window, it will cancel the enrollment of the current finger.
Once the enrollment process is complete, you will be returned to the opening screen of the enrollment process
as shown below. Note that the finger you enrolled now shows in green and you can click on another finger to
enroll another fingerprint.
To delete an enrolled fingerprint, click on an enrolled finger in this dialog and you will be prompted to confirm
that you wish to delete the fingerprint for the finger that you clicked on. Click Close to exit the control.
21
If the identification succeeds, you will see the details in the status box at the right. The example below shows
the result of a successful identification, followed by an unsuccessful attempt at identification.
Note that if you unplug the reader, you will receive an error message and the associated error code.
To exit the control, click on the Close button.
22
This puts the reader into streaming mode and immediately the results of the stream are displayed at the right
side of the window. For the sample program, the window then becomes like a live window on the reader as it
streams results. Placing a finger on the reader displays the streamed fingerprint, as shown below.
23
Pre-Requisites
This chapter assumes that you have a working knowledge of .NET and ActiveX and that you know how to
develop for Windows readers. You must also have tools and knowledge for your target language (typically C# or
Visual Basic).
Overview
The ActiveX option has the same requirements and installation as the .NET components. The file sizes are
approximately 15K larger than the .NET files.
Note that ActiveX does not work with Mozilla Firefox and Google Chrome browsers.
24
[Guid("C864A916-E288-439B-8054-C695C9677D84")] - XComparison
[Guid("C4287526-1485-48CB-99BB-6CC4A3552B81")] - XReader
[Guid("CAC5592F-EBA5-487C-AF8A-F35A70FAA33B")] - XReaderCollection
25
Pre-Requisites
This chapter assumes that you have a working knowledge of Java and that you know how to develop for
Windows readers.
System Requirements
Development System
Intel x86 architecture with CPU from 600MHz and at least 96MB of available RAM
Intel x64 (x86-64) architecture with CPU from 600MHz and at least 96MB of available RAM
x86
x64
100
120
a USB port
The SDK works on a variety of hardware and is intended to have a small footprint so that it can run even on
minimal hardware. Less capable hardware will work, but response time may not be optimal.
26
3. Make sure that dpuareu.jar is in the classpath and dpuareu_jni.dll is accessible by JVM. For
example:
java.exe -classpath ".;C:\Program Files\DigitalPersona\U.areU
SDK\Windows\Lib\Java\dpuareu.jar" -Djava.library.path="C:\Program
Files\DigitalPersona\U.areU SDK\Windows\Lib\win32" UareUSampleJava
27
How to use the streaming feature to display live fingerprint data on the screen
Selecting a Reader
Selecting a Reader
To choose the reader, click on the Select new reader button. You will see a list of available readers and you can
choose the desired device, as shown below:
28
Selecting a Reader
To see the reader capabilities, click on the Get reader capabilities button. The capabilities will be displayed, as
shown in the image below.
29
Enrolling a Finger
Enrolling a Finger
Click on Run enrollment to begin enrolling a test subject.
You will see a series of prompts to scan fingers for enrollment, as shown below.
After the firstfinger is successfully scanned, you will be prompted to scan additional fingers until a sufficient
number of high quality scans are complete. The number of fingers requested will vary depending on the image
scans - the enrollment functions will continue to request scans until an acceptable enrollment record has been
created.
When enrollment is complete, click Back to return to the main screen. (Note that enrollment FMDs that are
created are not stored.)
30
Identifying a Fingerprint
Identifying a Fingerprint
To test the identification feature, click on the Run identification button. Recall that identification is a 1-tomany comparison where the application searches through all of the enrolled fingers to find a match. For this
example, we do not have a stored database, so the sample application first prompts you to put fingers on the
reader so that the application has some fingerprints to check against.
After the application scans four fingers, you will be prompted to put any finger on the reader to identify against
the fingers that were just scanned. If you press a finger that was previously scanned on the reader, you will see
that a match was found. In the screen image below, we successfully identified a user.
31
Verifying a Fingerprint
Verifying a Fingerprint
To test the verification feature, click on the Run verification button. Recall that verification is a 1-to-1
comparison where the application matches against a specified fingerprint. When you click the Run verification
button, you will be prompted to place your finger on the reader. Then you will be prompted to put the same
finger or another finger, to verify against the first finger. In the screen below, we have successfully verified a
user.
32
33