ГОСТ Р ИСО/МЭК19784-1—2007
П риложение D
(справочное)
Примеры последовательности вызовов и типового кода
D.1 Простая последовательность вы зово в
БиоАПИ может поддерживать большое разнообразие биометрических технологий и устройств, так же как и
методов аутентификации, однако иногда приложению требуется использование только небольшого подмноже
ства вызовов функций для выполнения верификации. В данном разделе указана последовательность вызовов,
необходимых для выполнения данного типа верификации.
D.1.1 Инициализация
Сначала необходимо инициализировать инфраструктуру БиоАПИ. Это осуществляется путем вызова функ
ции
B ioА Р IInit.
Приложение должно определить, с какой версией спецификации БиоАПИ оно совместимо,
void function1() {
B»oAPI_VERSION bioVersion;
BioAPLRETURN bioRelurn:
«define BioAPI_MAJOR(2)
«define BioAPI_MINOR(0}
bioVersion.Major = Bk>API_MAJOR;
boVersion.Minor = B»oAPI_MINOR:
bioRetum = BioAPI_lmt(&bioVersion);
if(BioAPI_OK != bioRetum)
{
if(BioAPIERRJNCOMPATIBLE_VERSION == bioRetum)
{
printfC’Ttus application is not compatible with the installed version
of
the
BioAPIVi");
)
else
{
printfC’BioAPI Error Code. % d\n” , bioReturn):
}
}
}
D.1.2 Загрузка и присоединение ПБУ
Если приложение знает УУИД ПБУ, который необходима использовать, то для подготовки ПБУ к использо
ванию функциями БиоАПИ необходимо только вызвать функции
BioAPI_BSP_BSPLoad
и
BioAPI_BSPAttach.
Функция
BioAPI_BSPAttach
возвращает дескриптор, который будет использоваться при последующих вызо
вах функций БиоАПИ.
typedef struct SensorDeteclionContext {
B ioA P lJJN IT JD unitID;
BioAPI_BOOL foundSensor.
} SensorDeteclionContext;
BioAPI_RETURN BioAPI SensorDetectionEventHandlep"
const BioAPI_UUID ‘ BSPUuid.
BioAPI_UNIT_ID UnitID,
void’ AppNotifyCaBbackCtx.
const BioAPI_UNIT_SCHEMA ‘ UnitSchema.
BioAPI_EVENT EventType) {
SensorDeteclionContext ‘context =
(SensorDetectionContext *) AppNotifyCaJIbackCtx.
if (EventType == BioAPI_NOTlFY_lNSERT &&
UnitSchema != NULL &&
UnitSchema->UnitCategcry == BioA PIC A TE G O R Y S EN S O R &&
!context->foundSensor)
{ /’ использование первого обнаруженного устройства V
context->unitlD = UnitID;
context->foundSensor = BioAPI_TRUE;
}
return BioAPI_OK;
105