My team and I want to use Windows Biometric Framework for our current project. We use HP EliteBook 840 G6 with HD IR webcam.
All examples in the documentation are created for WINBIO_TYPE_FINGERPRINT, but we need to use WINBIO_TYPE_FACIAL_FEATURES. Unfortunately, we did not find examples for this type in the documentation, only for the fingerprints type. We ran the fingerprints code from the examples, everything works fine. But for type WINBIO_TYPE_FACIAL_FEATURES we faced with the following problems:
1) Function WinBioLocateSensor returns hresult = 0x8009802c (WINBIO_E_INVALID_OPERATION - 0x8009802C - (32812) The requested operation is not valid for the current state of the session or biometric unit.). Biometric session opened successfully by calling WinBioOpenSession as required in the documentation. Also we tried open asynchronous session handle by calling WinBioAsyncOpenSession. We got the same results.
Could you explain why this happens? The documentation says that these values apply only for Windows 10 and later. We use Windows 10 version 1909 (OS Build 18363.657)
2) We get UnitId using the WinBioEnumBiometricUnits function, which successfully finds the id of biometric device. But after that, we ran into a problem with the WinBioEnrollCapture function (WinBioEnrollBegin completed successful). WinBioEnrollCapture returns hresult = WINBIO_E_BAD_CAPTURE (From the documentation: The sample could not be captured. Use the RejectDetail value for more information). And RejectDetail = 0 in this case (from the documentation: If the capture succeeded, this parameter is set to zero). Also we tried calling the function WinBioEnrollCapture in a loop, were received 15 times WINBIO_E_BAD_CAPTURE and the process was finished with hresult = 0x8009802c.
Could you help us with these problems, please?