none
Biometric template duplicate enrollment RRS feed

  • Question

  • Hi,

    I have a case where I believe our engine adapter is correctly identifying the case of a duplicate template following enrollment, but the application apparently isn't failing the enrollment.  I want to make sure I understand the sequence of events so I can ask the application developer to look into this.  The case is that an enrollment completes (multiple calls to EngineAdapterUpdateEnrollment) and our adapter gets a call to EngineAdapterCheckForDuplicate, and we return Duplicate as TRUE.  Then there isn't a subsequent call to EngineAdapterCommitEnrollment, so that seems ok.  Where would the application have gotten an indication of a duplicate enrollment?  Does the application call WinBioEnrollCommit, which will return WINBIO_E_DUPLICATE_TEMPLATE?  Does the WBF framework call EngineAdapterCheckForDuplicate and if a duplicate is found, and in that case not call EngineAdapterCommitEnrollment?

    Thanks,

    Doug Allen

    Friday, July 19, 2013 11:32 PM

Answers

  • Hi Doug,

    When a WinBio client application calls WinBioEnrollCommit, the bio service performs some initial checks and does some setup work. Then it calls the EngineAdapterCheckForDuplicate method in your adapter.

    If EngineAdapterCheckForDuplicate returns Duplicate == TRUE, and if the session handle refers to a System Pool sensor, then WinBioEnrollCommit will fail back to the caller with the HRESULT error code WINBIO_E_DUPLICATE_TEMPLATE. In this case, the bio service does not call the EngineAdapterCommitEnrollment method.

    If EngineAdapterCheckForDuplicate returns Duplicate == FALSE, the bio service does some additional work (depending on whether the sensor is removable and does/doesn't support onboard storage). If all goes well, the bio service calls the EngineAdapterCommitEnrollment method in your adapter.

    So if the application isn't failing the enrollment, it is likely that the application isn't paying attention to the HRESULT coming back from WinBioEnrollCommit().

    Regards,
    -Art Baker
    Senior Software Engineer - Windows Security

     

    Monday, July 22, 2013 5:43 PM

All replies

  • Hi Doug,

    When a WinBio client application calls WinBioEnrollCommit, the bio service performs some initial checks and does some setup work. Then it calls the EngineAdapterCheckForDuplicate method in your adapter.

    If EngineAdapterCheckForDuplicate returns Duplicate == TRUE, and if the session handle refers to a System Pool sensor, then WinBioEnrollCommit will fail back to the caller with the HRESULT error code WINBIO_E_DUPLICATE_TEMPLATE. In this case, the bio service does not call the EngineAdapterCommitEnrollment method.

    If EngineAdapterCheckForDuplicate returns Duplicate == FALSE, the bio service does some additional work (depending on whether the sensor is removable and does/doesn't support onboard storage). If all goes well, the bio service calls the EngineAdapterCommitEnrollment method in your adapter.

    So if the application isn't failing the enrollment, it is likely that the application isn't paying attention to the HRESULT coming back from WinBioEnrollCommit().

    Regards,
    -Art Baker
    Senior Software Engineer - Windows Security

     

    Monday, July 22, 2013 5:43 PM
  • Thanks Art, I'll contact the application developer to have them check this.

    Regards,

    Doug Allen

    Tuesday, July 30, 2013 4:55 PM