次の方法で共有


WINBIO_ASYNC_RESULT構造体 (winbio.h)

WINBIO_ASYNC_RESULT構造体には、非同期操作の結果が含まれています。

構文

typedef struct _WINBIO_ASYNC_RESULT {
  WINBIO_SESSION_HANDLE SessionHandle;
  WINBIO_OPERATION_TYPE Operation;
  ULONGLONG             SequenceNumber;
  LONGLONG              TimeStamp;
  HRESULT               ApiStatus;
  WINBIO_UNIT_ID        UnitId;
  PVOID                 UserData;
  union {
    struct {
      BOOLEAN              Match;
      WINBIO_REJECT_DETAIL RejectDetail;
    } Verify;
    struct {
      WINBIO_IDENTITY          Identity;
      WINBIO_BIOMETRIC_SUBTYPE SubFactor;
      WINBIO_REJECT_DETAIL     RejectDetail;
    } Identify;
    struct {
      WINBIO_BIOMETRIC_SUBTYPE SubFactor;
    } EnrollBegin;
    struct {
      WINBIO_REJECT_DETAIL RejectDetail;
    } EnrollCapture;
    struct {
      WINBIO_IDENTITY Identity;
      BOOLEAN         IsNewTemplate;
    } EnrollCommit;
    struct {
      WINBIO_IDENTITY          Identity;
      SIZE_T                   SubFactorCount;
      WINBIO_BIOMETRIC_SUBTYPE *SubFactorArray;
    } EnumEnrollments;
    struct {
      PWINBIO_BIR          Sample;
      SIZE_T               SampleSize;
      WINBIO_REJECT_DETAIL RejectDetail;
    } CaptureSample;
    struct {
      WINBIO_IDENTITY          Identity;
      WINBIO_BIOMETRIC_SUBTYPE SubFactor;
    } DeleteTemplate;
    struct {
      WINBIO_PROPERTY_TYPE     PropertyType;
      WINBIO_PROPERTY_ID       PropertyId;
      WINBIO_IDENTITY          Identity;
      WINBIO_BIOMETRIC_SUBTYPE SubFactor;
      SIZE_T                   PropertyBufferSize;
      PVOID                    PropertyBuffer;
    } GetProperty;
    struct {
      WINBIO_PROPERTY_TYPE     PropertyType;
      WINBIO_PROPERTY_ID       PropertyId;
      WINBIO_IDENTITY          Identity;
      WINBIO_BIOMETRIC_SUBTYPE SubFactor;
      SIZE_T                   PropertyBufferSize;
      PVOID                    PropertyBuffer;
    } SetProperty;
    struct {
      WINBIO_EVENT Event;
    } GetEvent;
    struct {
      WINBIO_COMPONENT Component;
      ULONG            ControlCode;
      ULONG            OperationStatus;
      PUCHAR           SendBuffer;
      SIZE_T           SendBufferSize;
      PUCHAR           ReceiveBuffer;
      SIZE_T           ReceiveBufferSize;
      SIZE_T           ReceiveDataSize;
    } ControlUnit;
    struct {
      SIZE_T            BspCount;
      WINBIO_BSP_SCHEMA *BspSchemaArray;
    } EnumServiceProviders;
    struct {
      SIZE_T             UnitCount;
      WINBIO_UNIT_SCHEMA *UnitSchemaArray;
    } EnumBiometricUnits;
    struct {
      SIZE_T                StorageCount;
      WINBIO_STORAGE_SCHEMA *StorageSchemaArray;
    } EnumDatabases;
    struct {
      BOOLEAN                  Match;
      WINBIO_REJECT_DETAIL     RejectDetail;
      WINBIO_PROTECTION_TICKET Ticket;
    } VerifyAndReleaseTicket;
    struct {
      WINBIO_IDENTITY          Identity;
      WINBIO_BIOMETRIC_SUBTYPE SubFactor;
      WINBIO_REJECT_DETAIL     RejectDetail;
      WINBIO_PROTECTION_TICKET Ticket;
    } IdentifyAndReleaseTicket;
    struct {
      ULONGLONG SelectorValue;
    } EnrollSelect;
    struct {
      WINBIO_PRESENCE_CHANGE ChangeType;
      SIZE_T                 PresenceCount;
      WINBIO_PRESENCE        *PresenceArray;
    } MonitorPresence;
    struct {
      WINBIO_IDENTITY          Identity;
      WINBIO_PROTECTION_POLICY Policy;
    } GetProtectionPolicy;
    struct {
      WINBIO_EXTENDED_UNIT_STATUS ExtendedStatus;
    } NotifyUnitStatusChange;
  } Parameters;
} WINBIO_ASYNC_RESULT, *PWINBIO_ASYNC_RESULT;

メンバー

SessionHandle

WinBioAsyncOpenSession 関数または WinBioAsyncOpenFramework 関数を呼び出すことによって開始された非同期セッションのハンドル。

Operation

非同期操作の型。 詳細については、「 定数のWINBIO_OPERATION_TYPE」を参照してください。

SequenceNumber

非同期操作のシーケンス番号。 整数は、生体認証セッションの各操作に対して 1 から順番に割り当てられます。 どのセッションでも、開いている操作には常に最初のシーケンス番号が割り当てられ、閉じる操作には最後のシーケンス番号が割り当てられます。 アプリケーションが複数の操作をキューに入れる場合は、シーケンス番号を使用してエラー処理を実行できます。 たとえば、特定のシーケンス番号がアプリケーションに送信されるまで、操作の結果を無視できます。

TimeStamp

生体認証操作が開始されたシステムの日付と時刻。 詳細については、 GetSystemTimeAsFileTime 関数を参照してください。

ApiStatus

操作によって返されるエラー コード。

UnitId

操作を実行した生体認証ユニットの数値単位識別子。

UserData

呼び出し元によって提供される省略可能なバッファーのアドレス。 バッファーは、フレームワークまたは生体認証ユニットによって変更されません。 アプリケーションはデータを使用して、完了通知の受信時に実行するアクションを決定したり、要求された操作に関する追加情報を保持したりするのに役立ちます。

Parameters

クライアント アプリケーションによって開始された非同期操作の成功または失敗に関する追加情報を含む入れ子になった構造体を囲む共用体。

Parameters.Verify

WinBioVerify の非同期呼び出しの結果を格納します。

Parameters.Verify.Match

キャプチャしたサンプルがユーザー ID と一致するかどうかを指定します。

Parameters.Verify.RejectDetail

検証エラーに関する追加情報。 詳細については、「解説」を参照してください。

Parameters.Identify

WinBioIdentify の非同期呼び出しの結果を格納します。

Parameters.Identify.Identity

生体認証サンプルを提供するユーザーの GUID または SID。

Parameters.Identify.SubFactor

生体認証サンプルに関連付けられているサブ要素。 詳細については、「解説」を参照してください。

Parameters.Identify.RejectDetail

生体認証サンプルをキャプチャして識別するためのエラーに関する追加情報 (存在する場合)。 詳細については、「解説」を参照してください。

Parameters.EnrollBegin

WinBioEnrollBegin への非同期呼び出しの結果を格納します。

Parameters.EnrollBegin.SubFactor

登録に関する追加情報。 詳細については、「解説」を参照してください。

Parameters.EnrollCapture

WinBioEnrollCapture の非同期呼び出しの結果を格納します。

Parameters.EnrollCapture.RejectDetail

生体認証サンプルのキャプチャの失敗に関する追加情報。 詳細については、「解説」を参照してください。

Parameters.EnrollCommit

WinBioEnrollCommit への非同期呼び出しの結果を格納します。

Parameters.EnrollCommit.Identity

保存するテンプレートの GUID または SID。

Parameters.EnrollCommit.IsNewTemplate

データベースに追加するテンプレートが新しいかどうかを指定します。

Parameters.EnumEnrollments

WinBioEnumEnrollments の非同期呼び出しの結果を格納します。

Parameters.EnumEnrollments.Identity

サブ要素が取得されたテンプレートの GUID または SID。

Parameters.EnumEnrollments.SubFactorCount

SubFactorArray メンバーが指す配列内の要素の数。

Parameters.EnumEnrollments.SubFactorArray

サブ要素の配列へのポインター。 詳細については、「解説」を参照してください。

Parameters.CaptureSample

WinBioCaptureSample の非同期呼び出しの結果を格納します。

Parameters.CaptureSample.Sample

サンプルを含む WINBIO_BIR 構造体へのポインター。

Parameters.CaptureSample.SampleSize

Sample メンバーで返されるWINBIO_BIR構造体のサイズ (バイト単位)。

Parameters.CaptureSample.RejectDetail

生体認証サンプルのキャプチャの失敗に関する追加情報。 詳細については、「解説」を参照してください。

Parameters.DeleteTemplate

WinBioDeleteTemplate の非同期呼び出しの結果を格納します。

Parameters.DeleteTemplate.Identity

削除されたテンプレートの GUID または SID。

Parameters.DeleteTemplate.SubFactor

テンプレートに関する追加情報。

Parameters.GetProperty

WinBioGetProperty の非同期呼び出しの結果を格納します。

Parameters.GetProperty.PropertyType

プロパティ情報のソース。 現在、これは WINBIO_PROPERTY_TYPE_UNITされます。

Parameters.GetProperty.PropertyId

クエリが実行されたプロパティ。 現在、これは WINBIO_PROPERTY_SAMPLE_HINTされます。

Parameters.GetProperty.Identity

これは予約値であり、 NULL になります。

Parameters.GetProperty.SubFactor

これは予約されており、 WINBIO_SUBTYPE_NO_INFORMATIONされます。

Parameters.GetProperty.PropertyBufferSize

PropertyBuffer メンバーが指すプロパティ値のサイズ (バイト単位)。

Parameters.GetProperty.PropertyBuffer

プロパティ値へのポインター。

Parameters.SetProperty

WinBioSetProperty の非同期呼び出しの結果を格納します。 このメンバーは、Windows 10 以降でサポートされています。

SetProperty.PropretyBufferSize

PropertyBuffer パラメーターが指す構造体のサイズ (バイト単位)。

Parameters.SetProperty.PropertyType

設定されたプロパティの型を指定するWINBIO_PROPERTY_TYPE値。 現在、 これはWINBIO_PROPERTY_TYPE_ACCOUNTのみ可能です。

Parameters.SetProperty.PropertyId

設定されたプロパティを指定する WINBIO_PROPERTY_ID 値。 現在、この値は WINBIO_PROPERTY_ANTI_SPOOF_POLICYのみ可能です。 その他のプロパティはすべて読み取り専用です。

Parameters.SetProperty.Identity

プロパティ 設定されたアカウントを指定するWINBIO_IDENTITY構造体。

Parameters.SetProperty.SubFactor

予約済み。 現在、この値は常に WINBIO_SUBTYPE_NO_INFORMATIONされます。

Parameters.SetProperty.PropertyBufferSize

Parameters.SetProperty.PropertyBuffer

プロパティが設定された値を指定する構造体へのポインター。 WINBIO_PROPERTY_ANTI_SPOOF_POLICY プロパティの場合、構造体は WINBIO_ANTI_SPOOF_POLICY 構造体です。

Parameters.GetEvent

発生したイベントに関する状態情報が含まれます。

Parameters.GetEvent.Event

イベント情報が含まれます。

Parameters.ControlUnit

WinBioControlUnit または WinBioControlUnitPrivileged への非同期呼び出しの結果を格納します。

Parameters.ControlUnit.Component

操作を実行した生体認証ユニット内のコンポーネント。

Parameters.ControlUnit.ControlCode

WinBioControlUnit または WinBioControlUnitPrivileged 関数の UnitId パラメーターで指定された生体認証ユニットと、Component パラメーターで指定されたアダプターによって認識されるベンダー定義コード。

Parameters.ControlUnit.OperationStatus

制御操作の結果を指定するベンダー定義の状態コード。

Parameters.ControlUnit.SendBuffer

コンポーネントによってアダプターに送信される制御情報を含むバッファーへのポインター。 バッファーの形式と内容はベンダー定義です。

Parameters.ControlUnit.SendBufferSize

SendBuffer メンバーによって指定されたバッファーのサイズ (バイト単位)。

Parameters.ControlUnit.ReceiveBuffer

コンポーネント メンバーによって指定されたアダプターによって送信される情報を受信するバッファーへのポインター。 バッファーの形式と内容はベンダー定義です。

Parameters.ControlUnit.ReceiveBufferSize

ReceiveBuffer メンバーによって指定されたバッファーのサイズ (バイト単位)。

Parameters.ControlUnit.ReceiveDataSize

ReceiveBuffer メンバーによって指定されたバッファーに書き込まれたデータのサイズ (バイト単位)。

Parameters.EnumServiceProviders

WinBioEnumServiceProviders または WinBioAsyncEnumServiceProviders への非同期呼び出しの結果を格納します

Parameters.EnumServiceProviders.BspCount

BspSchemaArray メンバーが指す構造体の数。

Parameters.EnumServiceProviders.BspSchemaArray

使用可能な各サービス プロバイダーに関する情報を含む WINBIO_BSP_SCHEMA 構造体の配列へのポインター。

Parameters.EnumBiometricUnits

WinBioEnumBiometricUnits または WinBioAsyncEnumBiometricUnits への非同期呼び出しの結果を格納します

Parameters.EnumBiometricUnits.UnitCount

UnitSchemaArray メンバーが指す構造体の数。

Parameters.EnumBiometricUnits.UnitSchemaArray

列挙された各生体認証 ユニットに関 する情報を含むWINBIO_UNIT_SCHEMA構造体の配列。

Parameters.EnumDatabases

WinBioEnumDatabases または WinBioAsyncEnumDatabases への非同期呼び出しの結果を格納します

Parameters.EnumDatabases.StorageCount

StorageSchemaArray メンバーが指す構造体の数。

Parameters.EnumDatabases.StorageSchemaArray

各データベースに関する情報を含む WINBIO_STORAGE_SCHEMA 構造体の配列。

Parameters.VerifyAndReleaseTicket

予約済み。 このメンバーは、Windows 10 以降でサポートされています。

Parameters.VerifyAndReleaseTicket.Match

予約済み。

Parameters.VerifyAndReleaseTicket.RejectDetail

予約済み。

Parameters.VerifyAndReleaseTicket.Ticket

予約済み。

Parameters.IdentifyAndReleaseTicket

予約済み。 このメンバーは、Windows 10 以降でサポートされています。

Parameters.IdentifyAndReleaseTicket.Identity

予約済み。

Parameters.IdentifyAndReleaseTicket.SubFactor

予約済み。

Parameters.IdentifyAndReleaseTicket.RejectDetail

予約済み。

Parameters.IdentifyAndReleaseTicket.Ticket

予約済み。

Parameters.EnrollSelect

WinBioEnrollSelect の非同期呼び出しの結果を格納します。 このメンバーは、Windows 10 以降でサポートされています。

Parameters.EnrollSelect.SelectorValue

登録用に選択された個人を識別する値。

Parameters.MonitorPresence

WinBioMonitorPresence の非同期呼び出しの結果を格納します。 このメンバーは、Windows 10 以降でサポートされています。

Parameters.MonitorPresence.ChangeType

発生 した イベントの種類を示すWINBIO_PRESENCE_CHANGE値。

Parameters.MonitorPresence.PresenceCount

MonitorPresence.PresenceArray メンバーが指す配列のサイズ。

Parameters.MonitorPresence.PresenceArray

監視対象の個々の構造体ごとに 1 つずつ、 WINBIO_PRESENCE 構造体の配列のアドレス。

Parameters.GetProtectionPolicy

Parameters.GetProtectionPolicy.Identity

Parameters.GetProtectionPolicy.Policy

Parameters.NotifyUnitStatusChange

Parameters.NotifyUnitStatusChange.ExtendedStatus

注釈

非同期操作は、生体認証セッションまたはフレームワーク セッションを開いて開始されます。 WinBioAsyncOpenSession を呼び出して生体認証セッションを開きます。 WinBioAsyncOpenFramework を呼び出して、フレームワーク セッションを開きます。

非同期生体認証セッション ハンドルを使用して、次のいずれかの操作を非同期で呼び出すことができます。

非同期フレームワーク ハンドルを使用して、次の操作を非同期で呼び出すことができます。

WINBIO_ASYNC_RESULT構造は、Windows 生体認証フレームワークによって内部的に割り当てられます。 そのため、使用を完了したら、 WinBioFree を呼び出して、割り当てられたメモリを解放し、リークを回避します。 これにより、入れ子になったデータ構造もすべて解放されるため、 WINBIO_ASYNC_RESULT 構造体で返されたポインターのコピーを保持しないでください。 入れ子になった構造体で返されたデータを保存する場合は、 WinBioFree を呼び出す前に、そのデータのプライベート コピーを作成します。

Windows 8、Windows Server 2012、Windows 8.1、Windows Server 2012 R2: Windows 生体認証フレームワークでは指紋リーダーのみがサポートされます。 したがって、操作が失敗し、 WINBIO_REJECT_DETAIL 定数に追加情報が返された場合、次のいずれかの値になります。

  • WINBIO_FP_TOO_HIGH
  • WINBIO_FP_TOO_LOW
  • WINBIO_FP_TOO_LEFT
  • WINBIO_FP_TOO_RIGHT
  • WINBIO_FP_TOO_FAST
  • WINBIO_FP_TOO_SLOW
  • WINBIO_FP_POOR_QUALITY
  • WINBIO_FP_TOO_SKEWED
  • WINBIO_FP_TOO_SHORT
  • WINBIO_FP_MERGE_FAILURE

さらに、操作で WINBIO_BIOMETRIC_SUBTYPE データ型を使用する場合は、次のいずれかの値になります。

  • WINBIO_ANSI_381_POS_UNKNOWN
  • WINBIO_ANSI_381_POS_RH_THUMB
  • WINBIO_ANSI_381_POS_RH_INDEX_FINGER
  • WINBIO_ANSI_381_POS_RH_MIDDLE_FINGER
  • WINBIO_ANSI_381_POS_RH_RING_FINGER
  • WINBIO_ANSI_381_POS_RH_LITTLE_FINGER
  • WINBIO_ANSI_381_POS_LH_THUMB
  • WINBIO_ANSI_381_POS_LH_INDEX_FINGER
  • WINBIO_ANSI_381_POS_LH_MIDDLE_FINGER
  • WINBIO_ANSI_381_POS_LH_RING_FINGER
  • WINBIO_ANSI_381_POS_LH_LITTLE_FINGER
  • WINBIO_ANSI_381_POS_RH_FOUR_FINGERS
  • WINBIO_ANSI_381_POS_LH_FOUR_FINGERS
  • WINBIO_ANSI_381_POS_TWO_THUMBS

要件

要件
サポートされている最小のクライアント Windows 8 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2012 [デスクトップ アプリのみ]
Header winbio.h

こちらもご覧ください

WINBIO_REJECT_DETAIL定数

WinBioAsyncOpenFramework

WinBioAsyncOpenSession