ГОСТ Р ИСО/МЭК19784-1—2007
Уведомление о событии может появиться в любое время: во время вызовов БиоАПИ или вто время,
когда вызовы БиоАПИ не выполняются. Разработчик приложения должен гарантировать, что обратные вы
зовы будут правильно и безопасно обрабатываться приложением независимо от того, когда приложение
будет их получать.
П р и м е ч а н и е — В этом случае необходимо использовать технологию синхронизированных потоков и
порядка действий, сформированных кодом приложения на обработчик события.
Применяют «счетчик использований» установки обработчиков событий; они должны быть удалены
путем вызова функции BioAPI_BSPUnload столько раз. сколько были установлены. Если ПБУ загружен
путем вызова функции BioAPI_BSPLoad, он должен для каждого существующего модуляБиоАПИ
немедленно вызвать событие «установка». Это событие укажет биометрическому приложению, что оно
может продолжать работу и вызвать функцию BioAPI_BSPAttach. Если аппаратный компонентдля опреде
ленных функциональных возможностей отсутствует, то событие «установка» не может быть инициировано
до тех пор. пока аппаратный компонент не будет подключен.
Данная функция может быть вызвана только в том случае, если был выполнен, по крайней мере, один
вызовфункции BioAPIJnlL для которого небыл выполненсоответствующийвызов функции BioAPI_Terminate.
Функция BioAPI_BSPAttach может бытьвызвана несколько разпосле выполнения функции BioAPI_BSPLoad.
Функция BioAPlJBSPLoad не должна вызываться до тех пор. пока ПБУ не будет установлен с
помощью функции BioAPI_UtilJnstallBSP. Определение установки ПБУ может быть проведено вызовом
функции BioAPIEnumBSPs.
8.1.5.2 Параметры
BSPUuid (входной) — УУИД ПБУ. выбранного для загрузки.
AppNotifyCallback (входной/необязательный) — функция уведомления о событии, поставляемая вы
зывающим кодом. Определяет обратный вызов для уведомлений о событиях от загруженного (и позже
присоединенного) ПБУ.
AppNotifyCallbackCtx (входной) — указатель на контекстную информацию. Когда выбранный постав
щик услуги инициирует событие, данное значение передается как входной параметр обработчику события,
указанному в AppNotifyCallback.
8.1.5.3 Возвращаемое значение
Значение BioAPI_RETURN указывает на успешное выполнение функции или определяет тип ошибки.
Значение BioAP!_OK указывает на отсутствие ошибки. Все остальные значения описывают тип ошибки.
8.1.5.4 Ошибки
BioAPIERR_BSP_LOAD_FAIL
BioAPIERRJNVALIDJJUID
Данные об обработке ошибок БиоАПИ приведены в разделе 11.
8.1.6 Функция BioAPI_BSPUnload
BioAPIRETURN BioAPI BioAPI_BSPUnload
(const BioAPIUUID ‘ BSPUuid,
BioAPI_EventHandlerAppNotifyCallback.
void* AppNotifyCallbackCtx);
8.1.6.1 Описание
Данная функция выполняет отмену регистрации функции обратного вызова уведомлений о событиях
вызывающего кода, указанного в BSPUuid. Функция BioAPI_BSPUnload аналогична вызову функции
BioAPI_BSPLoad. Если все обратные вызовы, зарегистрированные БиоАПИ. удалены, то БиоАПИ выгру
жает (для этого биометрического приложения) ПБУ. загруженный путем вызова функции BioAPI_BSPLoad.
Для однозначного определения зарегистрированных обратных вызовов инфраструктура БиоАПИ ис
пользует три входных параметра: BSPUuid. AppNotifyCallback и AppNotifyCallbackCtx.
Данная функция может быть вызвана (для данного УУИД ПБУ) только втом случае, если был выпол
нен. по крайней мере, один вызов функции BioAPI_BSPLoad (для данного УУИД ПБУ).для которого не был
выполнен соответствующий вызовданной функции.
Данную функцию не следует вызывать, если был выполнен вызов функции BioAPI_BSPAttach, для
которого еще не был осуществлен вызов функции BioAPI_BSPDetach (для данного дескриптора ПБУ).
Если данная функция должна быть вызвана, когда ПБУ все еще присоединен, то для каждого вызова
функции BioAPI_BSPAttach, для которого не был выполнен вызов функции BioAPI_BSPDetach, инфра
структура БиоАПИ должна неявно выполнить действия, соответствующие отсутствующему вызову функ
ции BioAPI_BSPDetach (как будто соответствующая функция была вызвана в это время), а затем выпол-
34