7.71 События ГИП
Данный подраздел применяется только при использовании версии БиоАПИ 2.1.
7.71.1 BioAPI_GUI_SELECT_EVENT_HANDLER (БиоАПИ 2.1)
7.71.1.1 Функция обратного вызова
typedef BioAPI_RETURN (BioAPl *BioAPI_GUI_SELECT_EVENT_HANDLER) | |
(const BioAPl UUID *BSPUuid, | |
BioAPl_UNIT_ID UnitID, | |
const BioAPl_HANDLE *BSPHandle, | |
BioAPl_GUI_ENROLL_TYPE EnrollType, | |
const void *GUISelectEventHandlerCtx, | |
BioAPl_GUI_OPERATION Operation, | |
BioAPI_GUI_MOMENT Moment, | |
BioAPl_RETURN ResultCode, | |
int32_t MaxNumEnrollSamples, | |
BioAPl_BIR_SUBTYPE_MASK Selectablelnstances, | |
BioAPl_BIR_SUBTYPE_MASK *SelectedInstances, | |
BioAPl_BIR_SUBTYPE_MASK Capturedlnstances, | |
const uint8_t *Text, | |
BioAPl_GUI_RESPONSE *Response); |
7.71.1.2 Описание
Это тип указателя на функцию для функции обработчика событий ГИП приложения, который обрабатывает обратные вызовы уведомления о событии выбора ГИП, исходящие от ПБУ через инфраструктуру БиоАПИ. Для получения уведомлений о событии выбора ГИП приложение должно зарегистрировать функцию обратного вызова типа BioAPl_GUI_SELECT_EVENT_HANDLER путем предоставления адреса обратного вызова функции вместе с адресом контекста в вызове BioAPl_SubscribeToGUIEvents (см. 8.3.8).
Инфраструктура производит вызов функции приложения данного типа каждый раз, когда получает входной обратный вызов функции BioSPI_GUI_SELECT_EVENT_HANDLER, которую объявляет для ПБУ. Параметры обратного вызова (кроме GUISelectEventHandlerCtx) должны быть заданы из параметров входящего обратного вызова с теми же именами; параметр GUISelectEventHandlerCtx должен быть задан из адреса контекста выбора ГИП, предоставленного первоначально приложением в его вызове BioAPl_SubscribeToGUIEvents; адрес обратного вызова должен быть задан из адреса обратного вызова выбора ГИП, предоставленного первоначально приложением в вызове BioAPl_SubscribeToGUIEvents.
ПБУ может генерировать события выбора ГИП только в процессе выполнения вызова BioAPI_Capture, BioAPI_Verify, BioAPI_Identify_или BioAPI_Enroll. Событие выбора ГИП со значением момента BioAPI_GUI_MOMENT_BEFORE_START генерируется перед запуском каждого цикла подопераций, а событие выбора ГИП со значением момента BioAPI_GUI_MOMENT_AFTER_END генерируется после завершения каждого цикла подопераций (см. 7.66). Основное назначение уведомления о событии выбора ГИП, которое генерируется перед запуском цикла подопераций:
1) сообщить приложению о том, что новый цикл подопераций готов к запуску;
2) разрешить приложению выбрать экземпляр(ы) для захвата (где возможность подобного выбора поддерживается ПБУ и соответствует используемой биометрической модальности).
Основное назначение уведомления о событии выбора ГИП, которое генерируется после завершения цикла подопераций: сообщить приложению о результатах цикла подопераций. Приложение должно ответить каждому уведомлению о событии выбора ГИП путем указания на то, должен ли цикл подопераций запуститься, должна ли операция считаться полностью завершенной, должен ли запуститься новый цикл подопераций или операция должна быть отменена (см. 7.69).
Если приложение определяет один или больше экземпляров в параметре Subtype вызова первоначальной функции (BioAPI_Capture, BioAPI_Enroll, BioAPI_Verify или BioAPI_Identify), и этот параметр поддерживается ПБУ, то параметр SelectableInstances задается исходя из значения параметра Subtype.
Функция обработки события выбора ГИП и любые другие вызванные функции из этой функции не должны вызывать (непосредственно или косвенно) ни одну функцию БиоАПИ. Возврат значения, отличающегося от BioAPI_ОK, приводит к немедленному возврату вызванной функции к вызывающему коду с передачей ему данного значения в качестве кода ошибки.
7.71.1.3 Параметры
BSPUuid (входной) - УУИД, идентифицирующий ПБУ, связанный с событием ГИП.
UnitID (входной) - ИД модуля датчика ПБУ, связанного с событием ГИП.
BSPHandle (входной) - дескриптор присоединенной сессии ПБУ, связанный с событием ГИП.
EnrollType (входной) - тип регистрации ПБУ. Данный параметр имеет значение, только если Operation является BioAPI_GUI_OPERATION_ENROLL.
GUISelectEventHandlerCtx (входной) - контекстный адрес, первоначально предоставленный приложением-подписчиком как часть подписки на событие ГИП.
Operation (входной) - значение, которое указывает на тип операции, для которой сгенерировано событие ГИП. Допустимы только следующие значения:
- BioAPI_GUI_OPERATION_CAPTURE;
- BioAPI_GUI_OPERATION_VERIFY;
- BioAPI_GUI_OPERATION_IDENTIFY;