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
I/O 操作的状态详细信息。 这是将传递 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。 当捕获 I/O 完成时返回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指定生物识别采样操作失败的原因。
重要 为 Windows 7 定义的值仅用于指纹拒绝详细信息。
#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 结构的 Data 数组成员应包含 WINBIO_BIR 结构。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 在 Windows 7 和更高版本的 Windows 中可用。 |
标头 | winbio_ioctl.h |