ГОСТ Р ИСО/МЭК19784-1—2007
Как только шаблон будет возвращен, он может быть помещен в хранилищ е данных для последующего
извлечения и верификации (см. D.2).
D.1.4 Вы полнение вериф икации
Для вериф икации необходимо выполнить несколько вызовов. Если ПБУ поддерживает ф ункцию
BioAPI_VerifyMatch,
последовательность вызовов будет более сложной и приложение должно получать данные,
создавать шаблон и проводить верификацию поэтапно. В противном случае приложение может просто вызвать
функцию
BioAPI_Verify.
int function4() {
8ioAPl_RETURN bioRelum:
BioAPI_HANDLE BSPHandle;
BioAPI_BSP_SCHEMA ’ CurrSchema:
8ioAPI_BIR_HANDLE EnrolledTemptate. CapturedTemplate, ProcessedBir:
BioAPIJN PU T_BIR birEnroH, birCapture. InpulBirProcessed;
8ioAPI_BIR_HEADER birHeader;
ini MaxFMR, AchievedFMR;
BioAPI BOOL bResponse:
II
Определение поддержки функции BioAPI_VerifyMatch ПБУ проводится
II
проверкой operations mask
if(CurrSchema->Operations & BioAPI_VERIFYMATCH)
{
if((b>oReturn = BioAPI_Capture(BSPHandle.
BioAPI_PURPOSE_VERIFY.
Bk)API_NO_SUBTYPE_AVAILABLE.
NULL.
SCapturedTemplate.
1
- ,
NULL)) != ВюАР1_ОК)
{
printffBioAPI Error Code: %cAn". bioReturn);
return 0:
if((bioReturn = BioAPl_GetHeaderFromHandte(BSPHandle.
CapturedTem plate,
SbirUeader)) != BioAPI_OK)
printffBioAPI Error Code: %d\n’ , bioReturn);
return 0:
}
birEnroll.Form = BioAPI_BIR_HANDLEJNPUT;
birEnrotl.InputBIR.BIRinBSP = SEnrolledTemplate;
if(birHeader.Type & BioAP!_81R_DATA_TYPEJNТЕRME DlATE)
{
birCapture.Form = BioAPI_BIR_HANDLE_INPUT:
birCapture.InputBIR.BIRinBSP = &CapturedTemplate:
if((b>oReturn = BioAPI_Process(BSPHandle.
SbirCapture.
NULL,
&ProcessedBir)) != ВюАР1_ОК)
{
printffBioAPI Error Code: % сГл\ bioReturn):
return 0;
}
MaxFMR = 1;
InputBirProcessed.Form = BюAPI_BIR_HANDLEJNPUT;
InputBirProcessed.InputBIR.BIRinBSP = &ProcessedBir;
)
else
{
MaxFMR = 1;
InpulBirProcessed.Form = B»oAPI_BIR_HANDLEJNPUT;
InputBirProcessed.InputBiR.BIRinBSP = &CapturedTemplale;
>
•s—1963
Ю7