Document Title Here
AET65 API
Version 1.0
idvation GmbH
Otto-Hesse-Straße 19 / T5
Phone +49 6151 9926567
D-64293 Darmstadt
Fax +49 6151 3689296
www.idvation.com
Title Here
Page 9 of 84
3.0. BSAPI.DLL Functions
3.1. General Description
BSAPI.DLL provides a set of functions which can read data from supported fingerprint sensor devices, and
which apply various biometric algorithms to these data.
The main header file declaring functions of BSAPI is bsapi.h. The header includes bstypes.h and bserror.h
which declare types and error status codes. The latter two headers are shared with the other libraries the
BSAPI consists of.
3.1.1.
Error Handling
Almost all BSAPI.DLL functions return a status code ABS_STATUS. Code ABS_STATUS_OK (zero) means
success. All other values denote an error condition.
You may call ABSGetLastErrorInfo to retrieve more information about the error condition. Note that the
information is intended as a help for application and library developers and it's not intended to be presented to
end users.
If any BSAPI.DLL function fails, it frees any resources it might allocate. Values of output parameters are
defined only if the function succeeds i.e. if it returns ABS_STATUS_OK.
3.1.2.
Memory Management
Some BSAPI.DLL functions allocate memory returned via output parameter to the calling application. The
application must use function ABSFree to free memory allocated by BSAPI.DLL in these cases.
3.1.3.
Interactive Operations
Some of the BSAPI.DLL functions expect user’s interaction with FM. All these functions are collectively called
interactive operations in this document. Interactive operation functions share the way how the interaction is
achieved.
All those functions have pointer to structure ABS_OPERATION as their second parameter (just after handle
of a session). When you call any interactive operation function, it blocks until the operation finishes or until it is
canceled. While the operation is processing, callback specified by ABS_OPERATION is repeatedly called so
that the application can provide feedback to end-user.
Note that the callback implementation has some limitations. The behavior is not defined if you don’t respect
them:
•
You cannot throw exceptions from the callback (if you use BSAPI from C++ or other language which
supports them).
•
You cannot call majority of BSAPI functions from the callback. You can safely call only ABSFree,
ABSCancelOperation and ABSGetLastErrorInfo from the callback.
Since version 3.5 of BSAPI, the callback is always called from a thread context where the interactive operation
function has been called. (In older versions of BSAPI, this was not guaranteed).
You may cancel any running interactive operation with ABSCancelOperation if needed. You may call this
function either from the callback itself or from any other thread if you associated unique operation ID to the
operation you need to cancel.
Please note that structure ABS_OPERATION contains member Flags which can influence how the callback is
called. See description of ABS_OPERATION to get more information on this topic.
3.1.4.
Multi-threading
In general, BSAPI.DLL is thread-safe. You can call BSAPI.DLL functions concurrently from multiple threads,