структура WINBIO_CAPTURE_DATA (winbio_ioctl.h)
IOCTL_BIOMETRIC_CAPTURE_DATA IOCTL возвращает структуру WINBIO_CAPTURE_DATA в виде выходных данных.
Синтаксис
typedef struct _WINBIO_CAPTURE_DATA {
DWORD PayloadSize;
HRESULT WinBioHresult;
WINBIO_SENSOR_STATUS SensorStatus;
WINBIO_REJECT_DETAIL RejectDetail;
WINBIO_DATA CaptureData;
} WINBIO_CAPTURE_DATA, *PWINBIO_CAPTURE_DATA;
Члены
PayloadSize
Общий размер полезных данных. Сюда входят структура фиксированной длины и все данные переменной в конце.
WinBioHresult
Сведения о состоянии операции ввода-вывода. Здесь будут передаваться ошибки WINBIO и коды сведений. В следующей таблице показаны возможные значения этого элемента.
Значение состояния | Описание |
---|---|
S_OK | Операция успешно завершена. |
WINBIO_E_DATA_COLLECTION_IN_PROGRESS | Уже существует ожидание сбора данных IOCTL. |
WINBIO_E_UNSUPPORTED_DATA_FORMAT | Указанный формат не поддерживается этим драйвером и устройством. |
WINBIO_E_UNSUPPORTED_DATA_TYPE | Тип запрошенных данных не поддерживается этим драйвером и устройством. |
WINBIO_E_INVALID_DEVICE_STATE | Устройство не может быть помещено в режим биометрического захвата. Это может быть связано с тем, что устройство находится в другом режиме сбора данных, отличном от данных. |
HRESULT_FROM_NT(STATUS_IO_DEVICE_ERROR) | Операция не завершена из-за ошибки устройства. |
WINBIO_E_DEVICE_BUSY | Устройство находится в середине операции, определенной поставщиком. |
WINBIO_E_CANCELED | Операция была отменена вызывающим оператором или запросом IOCTL_BIOMETRIC_RESET. |
WINBIO_E_UNSUPPORTED_PURPOSE | Указанная цель захвата не поддерживается драйвером. |
SensorStatus
Состояние WINBIO_SENSOR_STATUS датчика после записи. Он указывает состояние работы датчика.
WINBIO_SENSOR_STATUS можно запрашивать в любое время. Когда WINBIO_SENSOR_STATUS возвращается после завершения ввода-вывода записи, он указывает, выполнен ли запись успешно. Возможные значения показаны в следующей таблице.
Код состояния датчика | Описание |
---|---|
WINBIO_SENSOR_ACCEPT | Датчик только что успешно завершил операцию захвата. Это должно быть возвращено только сразу после операции записи. Затем датчик вернется к WINBIO_SENSOR_READY или WINBIO_SENSOR_BUSY. |
WINBIO_SENSOR_REJECT | Датчик отклонил предыдущую операцию записи. Это должно быть возвращено только после операции записи. Затем датчик вернется к WINBIO_SENSOR_READY или WINBIO_SENSOR_BUSY. |
WINBIO_SENSOR_READY | Датчик готов к сбору данных. Если есть ожидающий сбор данных IOCTL, датчик готов принять данные. |
WINBIO_SENSOR_BUSY | Датчик занят или находится в состоянии, в котором он не может записывать данные. Например, устройство по-прежнему может инициализировать после включения. |
WINBIO_SENSOR_NOT_CALIBRATED | Датчик должен быть установлен перед тем, как он будет помещен в режим сбора данных. |
WINBIO_SENSOR_FAILURE | Сбой устройства датчика. |
RejectDetail
Если состояние датчика было WINBIO_SENSOR_REJECT, этот элемент содержит значение WINBIO_REJECT_DETAIL. WINBIO_SENSOR_REJECT указывает причину сбоя биометрических операций выборки.
#define WINBIO_FP_TOO_HIGH ((WINBIO_REJECT_DETAIL)1)
#define WINBIO_FP_TOO_LOW ((WINBIO_REJECT_DETAIL)2)
#define WINBIO_FP_TOO_LEFT ((WINBIO_REJECT_DETAIL)3)
#define WINBIO_FP_TOO_RIGHT ((WINBIO_REJECT_DETAIL)4)
#define WINBIO_FP_TOO_FAST ((WINBIO_REJECT_DETAIL)5)
#define WINBIO_FP_TOO_SLOW ((WINBIO_REJECT_DETAIL)6)
#define WINBIO_FP_POOR_QUALITY ((WINBIO_REJECT_DETAIL)7)
#define WINBIO_FP_TOO_SKEWED ((WINBIO_REJECT_DETAIL)8)
#define WINBIO_FP_TOO_SHORT ((WINBIO_REJECT_DETAIL)9)
#define WINBIO_FP_MERGE_FAILURE ((WINBIO_REJECT_DETAIL)10)
CaptureData
Структура типа WINBIO_DATA, содержащая данные, захваченные устройством, указанного в формате. Элемент массива данных структуры WINBIO_DATA должен содержать структуру WINBIO_BIR.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Доступно в Windows 7 и более поздних версиях Windows. |
заголовка | winbio_ioctl.h |