Information technology — Object oriented BioAPI — Part 3: C# implementation

This document specifies an interface of a BioAPI C# framework and BioAPI C# BSP which mirror the corresponding components specified in ISO/IEC 30106-1. The semantic equivalence of this document will be maintained with ISO/IEC 30106-2 (Java implementation). In spite of the differences in actual parameters passed between functions, the names and interface structure are the same.

Technlogies de l'information — Objet orienté BioAPI — Partie 3: Mise en oeuvre de C#

General Information

Status
Published
Publication Date
03-Nov-2020
Current Stage
6060 - International Standard published
Start Date
04-Nov-2020
Due Date
07-Feb-2023
Completion Date
04-Nov-2020
Ref Project

Relations

Buy Standard

Standard
ISO/IEC 30106-3:2020 - Information technology -- Object oriented BioAPI
English language
58 pages
sale 15% off
Preview
sale 15% off
Preview
Draft
ISO/IEC FDIS 30106-3:Version 25-apr-2020 - Information technology -- Object oriented BioAPI
English language
60 pages
sale 15% off
Preview
sale 15% off
Preview

Standards Content (Sample)

INTERNATIONAL ISO/IEC
STANDARD 30106-3
Second edition
2020-11
Information technology — Object
oriented BioAPI —
Part 3:
C# implementation
Technlogies de l'information — Objet orienté BioAPI —
Partie 3: Mise en oeuvre de C#
Reference number
ISO/IEC 30106-3:2020(E)
©
ISO/IEC 2020

---------------------- Page: 1 ----------------------
ISO/IEC 30106-3:2020(E)

COPYRIGHT PROTECTED DOCUMENT
© ISO/IEC 2020
All rights reserved. Unless otherwise specified, or required in the context of its implementation, no part of this publication may
be reproduced or utilized otherwise in any form or by any means, electronic or mechanical, including photocopying, or posting
on the internet or an intranet, without prior written permission. Permission can be requested from either ISO at the address
below or ISO’s member body in the country of the requester.
ISO copyright office
CP 401 • Ch. de Blandonnet 8
CH-1214 Vernier, Geneva
Phone: +41 22 749 01 11
Email: copyright@iso.org
Website: www.iso.org
Published in Switzerland
ii © ISO/IEC 2020 – All rights reserved

---------------------- Page: 2 ----------------------
ISO/IEC 30106-3:2020(E)

Contents Page
Foreword .vi
Introduction .vii
1 Scope . 1
2 Normative references . 1
3 Terms and definitions . 1
4 BioAPI C# Namespace Structure . 1
4.1 Overall structure . 1
4.2 Namespace BioAPI . 1
4.2.1 Namespace description . 1
4.2.2 Structure . 2
4.3 Namespace BioAPI.Data . 2
4.3.1 Namespace description . 2
4.3.2 Structure . 2
5 Data types and constants . 2
5.1 Class ACBioParameters . 2
5.1.1 Description . . . 2
5.1.2 Properties summary . 2
5.2 Class BFPListElement . . 3
5.2.1 Description . . . 3
5.2.2 Properties summary . 3
5.3 Class BFPSchema [Serializable()] . 3
5.3.1 Description . . . 3
5.3.2 Properties summary . 3
5.3.3 Method summary . 4
5.4 Class BIR . 4
5.4.1 Description . . . 4
5.4.2 Properties summary . 4
5.4.3 Method summary . 5
5.5 Class BSPSchema [Serializable()] . 6
5.5.1 Description . . . 6
5.5.2 Properties Summary . . 6
5.5.3 Method summary . 7
5.6 Class Candidate . 7
5.6.1 Description . . . 7
5.6.2 Properties summary . 8
5.7 Class DataTypes . 8
5.7.1 Description . . . 8
5.7.2 Enumerations . 8
5.8 Class Date .15
5.8.1 Description . . .15
5.8.2 Properties summary .15
5.8.3 Methods summary .16
5.9 Class FrameworkSchema .16
5.9.1 Description . . .16
5.9.2 Properties summary .17
5.9.3 Method summary .17
5.10 Class GUIBitmap .17
5.10.1 Description . . .17
5.10.2 Properties .17
5.10.3 Method summary .17
5.11 Class Identifypopulation .18
5.11.1 Description . . .18
© ISO/IEC 2020 – All rights reserved iii

---------------------- Page: 3 ----------------------
ISO/IEC 30106-3:2020(E)

5.11.2 Properties summary .18
5.11.3 Method summary .18
5.12 Class PopulationMember .18
5.12.1 Description . . .18
5.12.2 Properties summary .18
5.13 Class RegistryID .19
5.13.1 Description . . .19
5.13.2 Properties summary .19
5.14 Class SecurityProfileType .19
5.14.1 Description . . .19
5.14.2 Properties summary .19
5.14.3 Method summary .19
5.15 Class UnitList .20
5.15.1 Description . . .20
5.15.2 Properties summary .20
5.15.3 Methods summary .20
5.16 Class UnitListElement .20
5.16.1 Description . . .20
5.16.2 Properties summary .20
5.17 Class UnitSchema .21
5.17.1 Description . . .21
5.17.2 Properties summary .21
5.17.3 Method summary .21
5.18 Class UUID [Serializable()] .22
5.18.1 Description. .22
5.18.2 Properties .22
6 Object oriented interfaces for supporting BioAPI_Units .22
6.1 General .22
6.2 Interface IArchive .22
6.2.1 Description . . .22
6.2.2 Method summary .22
6.3 Interface IComparison .26
6.3.1 Description . . .26
6.3.2 Method summary .27
6.4 Interface IProcessing .29
6.4.1 Description . . .29
6.4.2 Method summary .30
6.5 Interface ISensor .31
6.5.1 Description . . .31
6.5.2 Method summary .32
7 BFP level .33
7.1 Interface IBFP .33
7.1.1 Description . . .33
7.1.2 Imported interfaces .33
7.1.3 Properties summary .33
7.1.4 Events summary .33
7.1.5 Method summary .33
8 BSP level .36
8.1 Interface IBSP .36
8.1.1 Description . . .36
8.1.2 Imported interfaces .36
8.1.3 Properties summary .36
8.1.4 Events summary .36
8.1.5 Method summary .36
9 Framework level .43
9.1 Interface IComponentRegistry .43
iv © ISO/IEC 2020 – All rights reserved

---------------------- Page: 4 ----------------------
ISO/IEC 30106-3:2020(E)

9.1.1 Description . . .43
9.1.2 Method summary .43
9.2 Interface IFramework .44
9.2.1 Description . . .44
9.2.2 Inherited interfaces .45
9.2.3 Properties summary .45
9.2.4 Method summary .45
10 Application interaction .49
10.1 class BioAPIException : Exception .49
10.1.1 Description . . .49
10.1.2 Constructor summary .49
10.1.3 Properties summary .50
10.1.4 Method summary .50
10.2 Callback functions .51
10.2.1 Description . . .51
10.2.2 Callback functions specification .51
Annex A (informative) Calling sequence examples and sample code .57
Bibliography .58
© ISO/IEC 2020 – All rights reserved v

---------------------- Page: 5 ----------------------
ISO/IEC 30106-3:2020(E)

Foreword
ISO (the International Organization for Standardization) and IEC (the International Electrotechnical
Commission) form the specialized system for worldwide standardization. National bodies that
are members of ISO or IEC participate in the development of International Standards through
technical committees established by the respective organization to deal with particular fields of
technical activity. ISO and IEC technical committees collaborate in fields of mutual interest. Other
international organizations, governmental and non-governmental, in liaison with ISO and IEC, also
take part in the work.
The procedures used to develop this document and those intended for its further maintenance are
described in the ISO/IEC Directives, Part 1. In particular, the different approval criteria needed for
the different types of document should be noted. This document was drafted in accordance with the
editorial rules of the ISO/IEC Directives, Part 2 (see www .iso .org/ directives).
Attention is drawn to the possibility that some of the elements of this document may be the subject
of patent rights. ISO and IEC shall not be held responsible for identifying any or all such patent
rights. Details of any patent rights identified during the development of the document will be in the
Introduction and/or on the ISO list of patent declarations received (see www .iso .org/ patents) or the IEC
list of patent declarations received (see http:// patents .iec .ch).
Any trade name used in this document is information given for the convenience of users and does not
constitute an endorsement.
For an explanation of the voluntary nature of standards, the meaning of ISO specific terms and
expressions related to conformity assessment, as well as information about ISO's adherence to the
World Trade Organization (WTO) principles in the Technical Barriers to Trade (TBT), see www .iso .org/
iso/ foreword .html.
This document was prepared by Joint Technical Committee ISO/IEC JTC 1, Information technology,
Subcommittee SC 37, Biometrics.
This second edition cancels and replaces the first edition (ISO/IEC 30106-3:2016), which has been
technically revised.
The main changes compared to the previous edition are as follows:
— correction of typing errors;
— addition of AnalyseQuality method.
A list of all parts in the ISO/IEC 30106 series can be found on the ISO website.
Any feedback or questions on this document should be directed to the user’s national standards body. A
complete listing of these bodies can be found at www .iso .org/ members .html.
vi © ISO/IEC 2020 – All rights reserved

---------------------- Page: 6 ----------------------
ISO/IEC 30106-3:2020(E)

Introduction
This document specifies an application programming interface expressed in C# language. C# is intended
to be a simple, general-purpose, object-oriented programming language that is aimed at enabling
programmers to quickly build a wide range of applications for the Microsoft.NET platform.
One of the advantages of using C# is that, as it is designed for the CLI (Common Language Infrastructure),
it allows multiple high-level languages to be used on different computer platforms without being
rewritten for specific architectures.
C# shares some features (overloading, some syntactic details) with C++ but also includes new
characteristics (reference and output parameters, enumerations, unified type system). Furthermore,
C# is very similar to Java (interfaces, exceptions, object-orientation), which implies that the structure of
interfaces and namespaces (which is the equivalent to packages in Java language) is mostly the same as
Java but, as expected, code implementation and compilation are different.
As Java implementation allows an easy use of Java BSPs, Java-based application servers or Java applets,
C# is the best way to write windows desktop and web applications/services and provides an advanced
and well-designed remote framework.
© ISO/IEC 2020 – All rights reserved vii

---------------------- Page: 7 ----------------------
INTERNATIONAL STANDARD ISO/IEC 30106-3:2020(E)
Information technology — Object oriented BioAPI —
Part 3:
C# implementation
1 Scope
This document specifies an interface of a BioAPI C# framework and BioAPI C# BSP which mirror the
corresponding components specified in ISO/IEC 30106-1. The semantic equivalence of this document
will be maintained with ISO/IEC 30106-2 (Java implementation). In spite of the differences in actual
parameters passed between functions, the names and interface structure are the same.
...

DRAFT INTERNATIONAL STANDARD
ISO/IEC DIS 30106-3
ISO/IEC JTC 1/SC 37 Secretariat: ANSI
Voting begins on: Voting terminates on:
2019-09-23 2019-12-16
Information technology — Object oriented BioAPI —
Part 3:
C# implementation
Technlogies de l'information — Objet orienté BioAPI —
Partie 3: Mise en oeuvre de C#
ICS: 35.240.15
THIS DOCUMENT IS A DRAFT CIRCULATED
FOR COMMENT AND APPROVAL. IT IS
THEREFORE SUBJECT TO CHANGE AND MAY
NOT BE REFERRED TO AS AN INTERNATIONAL
STANDARD UNTIL PUBLISHED AS SUCH.
IN ADDITION TO THEIR EVALUATION AS
BEING ACCEPTABLE FOR INDUSTRIAL,
This document is circulated as received from the committee secretariat.
TECHNOLOGICAL, COMMERCIAL AND
USER PURPOSES, DRAFT INTERNATIONAL
STANDARDS MAY ON OCCASION HAVE TO
BE CONSIDERED IN THE LIGHT OF THEIR
POTENTIAL TO BECOME STANDARDS TO
WHICH REFERENCE MAY BE MADE IN
Reference number
NATIONAL REGULATIONS.
ISO/IEC DIS 30106-3:2019(E)
RECIPIENTS OF THIS DRAFT ARE INVITED
TO SUBMIT, WITH THEIR COMMENTS,
NOTIFICATION OF ANY RELEVANT PATENT
RIGHTS OF WHICH THEY ARE AWARE AND TO
©
PROVIDE SUPPORTING DOCUMENTATION. ISO/IEC 2019

---------------------- Page: 1 ----------------------
ISO/IEC DIS 30106-3.2(E)
ISO/IEC DIS 30106-3:2019(E)

Contents Page
Foreword .ix
Introduction.x
1 Scope.1
2 Normative references.1
3 BioAPI C# Namespace Structure .1
3.1 Overall structure.1
3.2 Namespace BioAPI.1
3.2.1 Namespace description .1
3.2.2 Structure.1
3.3 Namespace BioAPI.Data.2
3.3.1 Namespace description .2
3.3.2 Structure.2
4 Data types and constants.3
4.1 Class ACBioParameters .3
4.1.1 Description.3
4.1.2 Properties Summary .3
4.2 Class BFPListElement .3
4.2.1 Description.3
4.2.2 Properties Summary .3
4.3 Class BFPSchema [Serializable()] .3
4.3.1 Description.3
4.3.2 Properties Summary .3
4.3.3 Method Summary .4
4.3.3.1 virtual void Dispose ().4
4.4 Class BIR.4
4.4.1 Description.4
4.4.2 Properties Summary .4
4.4.3 Method Summary .6
4.4.3.1 virtual BIR (byte[] record).6
4.4.3.2 virtual BIR (RegistryID bDBFormat, bool bDBEncription, bool
bIRIntegrity, BiometricType bDBBiometricType, BiometricSubtype
bDBBiometricSubtype, RegistryID bDBCaptureDevice, RegistryID
bDBFeatureExtractionAlg, RegistryID bDBComparisonAlg, RegistryID
bDBCompresionAlg, RegistryID bDBPADTechnique, byte[]
bDBChallengeResponse, Date bDBCreationDate, byte[] bDBIndex,
ProcessedLevel bDBProcessedLevel, RegistryID bDBProduct, Purpose
bDBPurpose, byte bDBQuality, RegistryID bDBQualityAlg, List
bDBValidityPeriod, Date bIRCreationDate, byte[] bIRCreator, byte[]
bIRIndex, byte[] bIRPayload, byte[] bIRPointer, List
bIRValidityPeriod, RegistryID sBFormat, byte[] bDBData, byte[] sBData).6
COPYRIGHT PROTECTED DOCUMENT
4.4.3.3 virtual public byte[] ToArray().6
4.4.3.4 virtual void Dispose ().6
© ISO/IEC 2019
4.5 Class BSPSchema [Serializable()] .7
All rights reserved. Unless otherwise specified, or required in the context of its implementation, no part of this publication may
4.5.1 Description.7
be reproduced or utilized otherwise in any form or by any means, electronic or mechanical, including photocopying, or posting
4.5.2 Properties Summary .7
on the internet or an intranet, without prior written permission. Permission can be requested from either ISO at the address
4.5.3 Method Summary .8
below or ISO’s member body in the country of the requester.
4.5.3.1 virtual void Dispose ().8
ISO copyright office
4.6 Class Candidate.8
CP 401 • Ch. de Blandonnet 8
4.6.1 Description.8
CH-1214 Vernier, Geneva
4.6.2 Properties Summary .8
Phone: +41 22 749 01 11
Fax: +41 22 749 09 47
Email: copyright@iso.org
Website: www.iso.org
Published in Switzerland © ISO/IEC 2019 – All rights reserved iii
ii © ISO/IEC 2019 – All rights reserved

---------------------- Page: 2 ----------------------
ISO/IEC DIS 30106-3:2019(E)
Contents Page
Foreword . ix
Introduction . x
1 Scope . 1
2 Normative references . 1
3 BioAPI C# Namespace Structure . 1
3.1 Overall structure . 1
3.2 Namespace BioAPI . 1
3.2.1 Namespace description . 1
3.2.2 Structure . 1
3.3 Namespace BioAPI.Data . 2
3.3.1 Namespace description . 2
3.3.2 Structure . 2
4 Data types and constants . 3
4.1 Class ACBioParameters . 3
4.1.1 Description . 3
4.1.2 Properties Summary . 3
4.2 Class BFPListElement . 3
4.2.1 Description . 3
4.2.2 Properties Summary . 3
4.3 Class BFPSchema [Serializable()] . 3
4.3.1 Description . 3
4.3.2 Properties Summary . 3
4.3.3 Method Summary . 4
4.3.3.1 virtual void Dispose () . 4
4.4 Class BIR . 4
4.4.1 Description . 4
4.4.2 Properties Summary . 4
4.4.3 Method Summary . 6
4.4.3.1 virtual BIR (byte[] record) . 6
4.4.3.2 virtual BIR (RegistryID bDBFormat, bool bDBEncription, bool
bIRIntegrity, BiometricType bDBBiometricType, BiometricSubtype
bDBBiometricSubtype, RegistryID bDBCaptureDevice, RegistryID
bDBFeatureExtractionAlg, RegistryID bDBComparisonAlg, RegistryID
bDBCompresionAlg, RegistryID bDBPADTechnique, byte[]
bDBChallengeResponse, Date bDBCreationDate, byte[] bDBIndex,
ProcessedLevel bDBProcessedLevel, RegistryID bDBProduct, Purpose
bDBPurpose, byte bDBQuality, RegistryID bDBQualityAlg, List
bDBValidityPeriod, Date bIRCreationDate, byte[] bIRCreator, byte[]
bIRIndex, byte[] bIRPayload, byte[] bIRPointer, List
bIRValidityPeriod, RegistryID sBFormat, byte[] bDBData, byte[] sBData) . 6
4.4.3.3 virtual public byte[] ToArray() . 6
4.4.3.4 virtual void Dispose () . 6
4.5 Class BSPSchema [Serializable()] . 7
4.5.1 Description . 7
4.5.2 Properties Summary . 7
4.5.3 Method Summary . 8
4.5.3.1 virtual void Dispose () . 8
4.6 Class Candidate . 8
4.6.1 Description . 8
4.6.2 Properties Summary . 8
© ISO/IEC 2019 – All rights reserved iii

---------------------- Page: 3 ----------------------
ISO/IEC DIS 30106-3:2019(E)
4.7 Class DataTypes .9
4.7.1 Description .9
4.7.2 Enumerations .9
4.7.2.1 BiometricSubtype .9
4.7.2.2 BiometricType .9
4.7.2.3 BIRDatabaseAccess . 10
4.7.2.4 BSPSchemaOperations . 10
4.7.2.5 BSPSchemaOptions . 10
4.7.2.6 EventKind . 11
4.7.2.7 Facility . 11
4.7.2.8 GUIEnrolType . 11
4.7.2.9 GUIMoment. 11
4.7.2.10 GUIOperation . 12
4.7.2.11 GUIResponse . 12
4.7.2.12 GUISuboperation . 12
4.7.2.13 ProcessedLevel . 12
4.7.2.14 Purpose . 12
4.7.2.15 ResultOptions . 13
4.7.2.16 SecurityOptionsType . 13
4.7.2.17 UnitCategoryType . 13
4.7.2.18 UnitIndicatorStatus . 13
4.7.2.19 UnitPowerMode . 13
4.8 Class Date . 14
4.8.1 Description . 14
4.8.2 Properties Summary . 14
4.8.3 Methods Summary . 14
4.8.3.1 virtual bool IsLowerOrEqual (int day, int month, int year) . 14
4.8.3.2 virtual bool IsLowerOrEqual (int day, int month, int year, int hour, int
minute, int second) . 14
4.8.3.3 virtual bool IsLowerOrEqual (Date date) . 14
4.8.3.4 virtual bool IsHigherOrEqual (int day, int month, int year) . 14
4.8.3.5 virtual bool IsHigherOrEqual (int day, int month, int year, int hour, int
minute, int second) . 14
4.8.3.6 virtual bool IsHigherOrEqual (Date date) . 14
4.9 Class FrameworkSchema . 15
4.9.1 Description . 15
4.9.2 Properties Summary . 15
4.9.3 Method Summary . 15
4.9.3.1 virtual void Dispose () . 15
4.10 Class GUIBitmap . 15
4.10.1 Description . 15
4.10.2 Properties . 15
4.10.3 Method Summary . 16
4.10.3.1 virtual void Dispose () . 16
4.11 Class Identifypopulation . 16
4.11.1 Description . 16
4.11.2 Properties Summary . 16
4.11.3 Method Summary . 16
4.11.3.1 virtual void AddMember (PopulationMember member) . 16
4.11.3.2 virtual void Dispose () . 16
4.11.3.3 virtual bool IsBound () . 16
4.11.3.4 virtual void Unbind () . 17
4.12 Class PopulationMember . 17
4.12.1 Description . 17
4.12.2 Properties Summary . 17
4.13 Class RegistryID . 17
4.13.1 Description . 17
4.13.2 Properties Summary . 17
4.14 Class SecurityProfileType . 17
4.14.1 Description . 17
iv © ISO/IEC 2019 – All rights reserved

---------------------- Page: 4 ----------------------
ISO/IEC DIS 30106-3:2019(E)
4.14.2 Properties Summary . 18
4.14.3 Method Summary . 18
4.14.3.1 virtual void Dispose () . 18
4.15 Class UnitList . 18
4.15.1 Description . 18
4.15.2 Properties Summary . 18
4.15.3 Methods Summary . 18
4.15.3.1 void Add (UnitListElement unitListElement) . 18
4.15.3.2 int GetUnitID (UnitCategoryType unitCategoryType) . 19
4.15.3.3 virtual void Dispose () . 19
4.16 Class UnitListElement . 19
4.16.1 Description . 19
4.16.2 Properties Summary . 19
4.17 Class UnitSchema . 19
4.17.1 Description . 19
4.17.2 Properties Summary . 19
4.17.3 Method Summary . 20
4.17.3.1 virtual void Dispose () . 20
4.18 Class UUID [Serializable()]. 20
4.18.1 Description . 20
4.18.2 Properties . 20
5 Object oriented interfaces for supporting BioAPI_Units . 21
5.1 Introduction . 21
5.2 Interface IArchive . 21
5.2.1 Description . 21
5.2.2 Method Summary . 21
5.2.2.1 void CloseDatabase (int unitID) . 21
5.2.2.2 void DeleteBIR (int unitID, UUID key) . 21
5.2.2.3 BIR GetSingleBIR (int unitID, UUID key) . 21
5.2.2.4 List ListUUIDs (int unitID) . 22
5.2.2.5 Identifypopulation NewIdentifyPopulation (int unitID) . 22
5.2.2.6 IdentifyPopulation NewIdentifyPopulation (int unitID, List
UUIDList) . 22
5.2.2.7 IdentifyPopulation NewIdentifyPopulation (int unitID, byte[] query) . 22
5.2.2.8 void OpenDatabase (int unitID, byte[] databaseID, BIRDatabaseAccess
access) . 23
5.2.2.9 UUID StoreBIR (int unitID, BIR biometricReference) . 23
5.2.2.10 void StoreBIR (int unitID, BIR biometricReference, UUID key) . 23
5.2.2.11 UUID StoreBIR (int unitID, BIR biometricReference, byte[] auxiliaryData). 23
5.2.2.12 void StoreBIR (int unitID, BIR biometricReference, byte[] auxiliaryData,
UUID key) . 24
5.3 Interface IComparison . 24
5.3.1 Description . 24
5.3.2 Method Summary . 25
5.3.2.1 BIR GetAdaptedBIR (int unitID) . 25
5
...

Questions, Comments and Discussion

Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.