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 を呼び出して、フレームワーク セッションを開きます。
非同期生体認証セッション ハンドルを使用して、次のいずれかの操作を非同期で呼び出すことができます。
- WinBioCancel
- WinBioCaptureSample
- WinBioCloseSession
- WinBioControlUnit
- WinBioControlUnitPrivileged
- WinBioDeleteTemplate
- WinBioEnrollBegin
- WinBioEnrollCapture
- WinBioEnrollCommit
- WinBioEnrollDiscard
- WinBioEnumEnrollments
- WinBioGetProperty
- WinBioIdentify
- WinBioLocateSensor
- WinBioLockUnit
- WinBioLogonIdentifiedUser
- WinBioRegisterEventMonitor
- WinBioUnlockUnit
- WinBioUnregisterEventMonitor
- WinBioVerify
- WinBioWait
- WinBioSetProperty
- WinBioEnrollSelect
- WinBioMonitorPresence
非同期フレームワーク ハンドルを使用して、次の操作を非同期で呼び出すことができます。
- WinBioAsyncEnumBiometricUnits
- WinBioAsyncEnumDatabases
- WinBioAsyncOpenFramework
- WinBioAsyncEnumServiceProviders
- WinBioAsyncMonitorFrameworkChanges
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 |