次の方法で共有


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