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 定义的值仅用于指纹拒绝详细信息。
 
WINBIO_TYPE_FINGERPRINT的失败详细信息值包括:
#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

另请参阅

IOCTL_BIOMETRIC_CAPTURE_DATA