Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
WBDI is een windows-standaardinterface op basis van IOCTL. Wanneer u een WBDI-stuurprogramma schrijft, moet u een set verplichte IOCTL's ondersteunen. U kunt er ook voor kiezen om optionele IOCTL's te ondersteunen. U vindt een volledige lijst met verplichte en optionele IOCTL's in Biometrische IOCTL's.
Een door de leverancier geleverde WBDI-stuurprogramma moet worden voorbereid op het ontvangen van IOCTL-aanvragen in de volgende volgorde van de Windows Biometric Service (WBS). U kunt voorbeelden van handlers voor deze IOCTL's bekijken in Device.cpp in WudfBioUsbSample-.
De Windows Biometric Service of de sensoradapter initialiseert het biometrische apparaat en controleert of het gereed is voor gebruik. De dienst of adapter verzendt een IOCTL_BIOMETRIC_GET_ATTRIBUTES verzoek.
Het stuurprogramma ontvangt een aanwijzer naar een WINBIO_SENSOR_ATTRIBUTES structuur. In de handler voor deze IOCTL moet de driver de relevante leden van deze structuur invullen en het verzoek voltooien door IWDFIoRequest::Completeaan te roepen.
Vervolgens ontvangt het stuurprogramma IOCTL_BIOMETRIC_GET_SENSOR_STATUS. De bestuurder moet de relevante leden van de WINBIO_DIAGNOSTICS structuur invullen en het verzoek voltooien.
Als de bestuurder aangeeft dat kalibratie nodig is in het SensorStatus element van de WINBIO_DIAGNOSTICS structuur die is geretourneerd van de IOCTL_BIOMETRIC_GET_SENSOR_STATUS verzoek, ontvangt de bestuurder vervolgens een IOCTL_BIOMETRIC_CALIBRATE verzoek. Het stuurprogramma moet een handler voor deze IOCTL opgeven. Na het kalibreren van het apparaat moet de callback een WINBIO_CALIBRATION_INFO structuur retourneren.
Het stuurprogramma kan nu IOCTL_BIOMETRIC_CAPTURE_DATA verzoeken verwachten te ontvangen. Omdat slechts één opname op elk gewenst moment in behandeling kan zijn, moet de handler voor deze aanvraag eerst bevestigen dat er geen aanvraag in behandeling is. Als een aanvraag in behandeling is, voltooit u de aanvraag met WINBIO_E_DATA_COLLECTION_IN_PROGRESS.
De WinBio-service of een toepassing kan op elk gewenst moment om annulering van een openstaande opnameaanvraag aanvragen door annuleringsroutines van Win32 aan te roepen, zoals CancelIo, CancelIoEx-of CancelSynchronousIo. Daarom moeten WBDI-chauffeurs ook annulering ondersteunen.
Het stuurprogramma verwerkt annulering door IWDFIoRequest::MarkCancelable aan te roepen om een IRequestCallbackCancel interface te registreren.
De handler programmat vervolgens het apparaat voor de opnamemodus en keert terug uit de callback. De aanvraag moet in behandeling blijven totdat het is geannuleerd of het stuurprogramma detecteert dat de opname is voltooid. Nadat deze I/O-aanvraag is voltooid, kan het apparaat terugkeren naar een niet-actieve status. Een client kan een eerste aanroep naar IOCTL_BIOMETRIC_CAPTURE_DATA maken om de juiste buffergrootte voor een werkelijke opname te bepalen.
De handler voor IOCTL_BIOMETRIC_RESET moet het apparaat fysiek opnieuw instellen op een bekende of niet-actieve status. De handler voor dit verzoek moet ook alle invoer/uitvoer voor lopende dataverzameling annuleren en de structuur WINBIO_BLANK_PAYLOAD invullen. De handler voltooit vervolgens de aanvraag. Clients zijn niet verplicht om te resetten tussen aanroepingen van IOCTL_BIOMETRIC_CAPTURE_DATA.