public int EnrollEvent(object sender, UFScannerCaptureEventArgs e) { byte[] Template; int TemplateSize; int nEnrollQuality; UFS_STATUS ufs_res; string strError; Template = new byte[MAX_TEMPLATE_SIZE]; if (!m_try_extract) { if (!e.FingerOn) { m_try_extract = true; m_bFingerCheck = false; SetTextMessage("Place your finger\r\n"); } else { if (!m_bFingerCheck) { SetTextMessage("Remove your fingerprint from scanner\r\n"); m_bFingerCheck = true; } } UpdatePictureBox(pbImageFrame, e.ImageFrame); return(1); } if (e.FingerOn && m_try_extract) { ufs_res = m_Scanner.ExtractEx(MAX_TEMPLATE_SIZE, Template, out TemplateSize, out nEnrollQuality); if (ufs_res == UFS_STATUS.OK) { if (nEnrollQuality < m_quality) { SetTextMessage("Template Quality is too low\r\n"); } else { System.Array.Copy(Template, 0, m_EnrollTemplate_input[m_extract_num], 0, TemplateSize); m_EnrollTemplateSize_input[m_extract_num] = TemplateSize; m_extract_num++; SetTextMessage("UFS_Extract: OK (" + m_extract_num + "/4)\r\n"); m_try_extract = false; if (m_extract_num == MAX_TEMPLATE_INPUT_NUM) { ufs_res = m_Scanner.SelectTemplateEx(MAX_TEMPLATE_SIZE, m_EnrollTemplate_input, m_EnrollTemplateSize_input, 4, m_EnrollTemplate_output, m_EnrollTemplateSize_output, m_output_num); if (ufs_res == UFS_STATUS.OK) { SetTextMessage("Extraction process is succeed\r\n"); if (m_output_num == 1) { // output template number is 1 } else if (m_output_num == 2) { // output template number is 2 } else { SetTextMessage("template output number is not correct\r\n"); } } else { SetTextMessage("Extraction process is faild\r\n"); } UpdatePictureBox(pbImageFrame, e.ImageFrame); return(0); } } } else { UFScanner.GetErrorString(ufs_res, out strError); SetTextMessage("UFS_Extract:" + strError + "\r\n"); } } UpdatePictureBox(pbImageFrame, e.ImageFrame); return(1); }