Share via


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

包含 WinBioControlUnitWinBioControlUnitPrivileged 異步呼叫的結果。

Parameters.ControlUnit.Component

執行作業之生物特徵辨識單位內的元件。

Parameters.ControlUnit.ControlCode

WinBioControlUnitWinBioControlUnitPrivileged 函式的 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

包含 對 WinBioEnumServiceProvidersWinBioAsyncEnumServiceProviders 進行異步呼叫的結果。

Parameters.EnumServiceProviders.BspCount

BspSchemaArray 成員所指向的結構數目。

Parameters.EnumServiceProviders.BspSchemaArray

包含每個可用服務提供者相關信息之 WINBIO_BSP_SCHEMA 結構的陣列指標。

Parameters.EnumBiometricUnits

包含 WinBioEnumBiometricUnitsWinBioAsyncEnumBiometricUnits 異步呼叫的結果。

Parameters.EnumBiometricUnits.UnitCount

UnitSchemaArray 成員所指向的結構數目。

Parameters.EnumBiometricUnits.UnitSchemaArray

包含每個列舉生物特徵辨識單位相關信息的 WINBIO_UNIT_SCHEMA 結構數位。

Parameters.EnumDatabases

包含 對 WinBioEnumDatabasesWinBioAsyncEnumDatabases 的異步呼叫結果。

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 以開啟架構會話。

您可以使用異步生物特徵辨識會話句柄,以異步方式呼叫下列任何作業:

您可以使用異步架構句柄以異步方式呼叫下列作業:

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

另請參閱

WINBIO_REJECT_DETAIL常數

WinBioAsyncOpenFramework

WinBioAsyncOpenSession