IOCTL_BIOMETRIC_CAPTURE_DATA control code

The IOCTL_BIOMETRIC_CAPTURE_DATA IOCTL directs the driver to retrieve the next scan of biometric data. This call should put the device into capture mode.

Vendor-supplied WBDI drivers must support IOCTL_BIOMETRIC_CAPTURE_DATA.

Input Parameters

WINBIO_CAPTURE_PARAMETERS

Output Parameters

The AssociatedIrp.SystemBuffer member points to a buffer that contains a WINBIO_CAPTURE_DATA structure.

The smallest valid output buffer size is the size of DWORD.

If the driver receives a DWORD-sized output buffer, the driver must immediately return the buffer size necessary to complete the operation. Do not wait for the swipe to occur to send the required buffer size.

The vendor-specific data in the WINBIO_BIR structure can be in any format the vendor would like to collect from the driver. Vendors can choose to process data in the WBDI driver or in the engine adapter, but the data must be passed in one structure.

I/O Status Block

Indicates whether the DeviceIoControl call to the driver completed and the OUT payload is valid.

The Status member is set to one of the values in the following table.

Status valueDescription

S_OK, STATUS_SUCCESS

The operation completed successfully. If the size of data returned is DWORD, the payload contains the size of the buffer necessary for the call. Otherwise, the payload contains the full output buffer.

E_INVALIDARG

The parameters were not specified correctly.

WINBIO_E_DATA_COLLECTION_IN_PROGRESS

Device has an IOCTL_BIOMETRIC_CAPTURE_DATA pending.

E_UNKNOWN

Any other failure that prevents the payload from being filled in.

E_UNEXPECTED

Any other failure that prevents the payload from being filled in.

E_FAIL

Any other failure that prevents the payload from being filled in.

 

Remarks

Only one data collection IOCTL can be pending at any time. If the device has an IOCTL_BIOMETRIC_CAPTURE_DATA pending, IOCTL_BIOMETRIC_CAPTURE_DATA must return WINBIO_E_DATA_COLLECTION_IN_PROGRESS.

IOCTL_BIOMETRIC_CAPTURE_DATA is a blocking data collection IOCTL that is completed when the biometric data capture occurs.

If the vendor-supplied driver passes back the entire payload, it should fill in the WinBioHresult member of WINBIO_CAPTURE_DATA with the status of the Biometric operation.

Possible values include:

S_OK

The operation completed successfully.

WINBIO_E_DATA_COLLECTION_IN_PROGRESS

There is already a data collection IOCTL pending.

WINBIO_E_UNSUPPORTED_DATA_FORMAT

The format specified is not supported by this driver and device.

WINBIO_E_UNSUPPORTED_DATA_TYPE

The type of data requested is not supported by this driver and device.

WINBIO_E_INVALID_DEVICE_STATE

The device could not be put into biometric capture mode. This could be because the device is in another non-data collection mode.

HRESULT_FROM_NT(STATUS_IO_DEVICE_ERROR)

The operation was not completed due to device error.

WINBIO_E_DEVICE_BUSY

The device is in the middle of a vendor-specific operation.

WINBIO_E_CANCELED

The operation was canceled either by the caller, or by someone issuing an IOCTL_BIOMETRIC_RESET

WINBIO_E_UNSUPPORTED_PURPOSE

The capture purpose specified is not supported by the driver.

Requirements

Version

Available in Windows 7 and later versions of Windows.

Header

Winbio_ioctl.h

 

 

Send comments about this topic to Microsoft

Show:
© 2015 Microsoft