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
指定擷取的樣本是否符合使用者身分識別。
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
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 時,請呼叫 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 [僅限傳統型應用程式] |
標頭 | winbio.h |