次の方法で共有


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 で使用できます。
Header winbio_ioctl.h

こちらもご覧ください

IOCTL_BIOMETRIC_CAPTURE_DATA