7.28.1 Данный тип представляет собой интерфейс обработчика событий, который должен поддерживать приложение, если необходимо получать асинхронные уведомления о событиях, таких как наличие биометрического образца или ошибка, обнаруженная ПБУ. Процесс обработки события регистрируется в инфраструктуре БиоАПИ в ходе выполнения функции BioAPI_BSPLoad. Данный обработчик события предназначен для всех общих событий, возникающих в загруженном ПБУ, во всех присоединенных сессиях. Уведомления об общих событиях обрабатываются через инфраструктуру БиоАПИ.
Функция обработки событий и любые функции, запрашивающие данную функцию (непосредственно или косвенно), не должны приводить к вызову функций БиоАПИ. Подобные циклические вызовы могут привести к их взаимной блокировке во многих ситуациях, поэтому обработчик события должен быть реализован без использования сервисов БиоАПИ (но функции получения списков могут использоваться в любое время).
BioAPI_EventHandler может быть вызван несколько раз в ответ на единственное событие, возникшее в присоединенном ПБУ. Обработчик события и вызывающее приложение должны прослеживать получение уведомлений о событии и игнорировать дублирующие уведомления. Уведомление о событии представляет собой следующую информацию:
typedef BioAPI_RETURN (BioAPI *BioAPI_EventHandler) | ||||
(const BioAPI_UUID *BSPUuid, | ||||
BioAPI_UNIT_ID UnitlD, | ||||
void* AppNotifyCallbackCtx, | ||||
const BioAPI_UNIT_SCHEMA *UnitSchema, | ||||
BioAPI_EVENT EventType); |
7.28.2 Определения
BSPUuid (входной) - УУИД ПБУ, инициирующего событие;
UnitID (входной) - ИД модуля БиоАПИ, связанного с событием;
AppNotifyCallbackCtx (входной) - общий указатель на контекстную информацию, которая предоставляется при вызове функции BioAPI_BSPLoad, устанавливающей обработчик событий;
UnitSchema (входной) - указатель на схему модуля БиоАПИ, связанного с данным событием;
EventType (входной) - тип произошедшего события BioAPI_EVENT.
(Измененная редакция, Изм. N 1).