Condividi tramite


struttura WINBIO_ASYNC_RESULT (winbio.h)

La struttura WINBIO_ASYNC_RESULT contiene i risultati di un'operazione asincrona.

Sintassi

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;

Members

SessionHandle

Handle di una sessione asincrona avviata chiamando la funzione WinBioAsyncOpenSession o la funzione WinBioAsyncOpenFramework .

Operation

Tipo dell'operazione asincrona. Per altre informazioni, vedere costanti WINBIO_OPERATION_TYPE.

SequenceNumber

Numero di sequenza dell'operazione asincrona. Gli interi vengono assegnati in sequenza per ogni operazione in una sessione biometrica, a partire da uno (1). Per qualsiasi sessione, all'operazione di apertura viene sempre assegnato il primo numero di sequenza e all'operazione di chiusura viene assegnato l'ultimo numero di sequenza. Se l'applicazione accoda più operazioni, è possibile usare i numeri di sequenza per eseguire la gestione degli errori. Ad esempio, è possibile ignorare i risultati dell'operazione fino a quando non viene inviato un numero di sequenza specifico all'applicazione.

TimeStamp

Data e ora di sistema in cui è iniziata l'operazione biometrica. Per altre informazioni, vedere la funzione GetSystemTimeAsFileTime .

ApiStatus

Codice di errore restituito dall'operazione.

UnitId

Identificatore di unità numerica dell'unità biometrica che ha eseguito l'operazione.

UserData

Indirizzo di un buffer facoltativo fornito dal chiamante. Il buffer non viene modificato dal framework o dall'unità biometrica. L'applicazione può usare i dati per determinare quali azioni eseguire al ricevimento dell'avviso di completamento o per mantenere informazioni aggiuntive sull'operazione richiesta.

Parameters

Unione che racchiude strutture annidate che contengono informazioni aggiuntive sull'esito positivo o negativo delle operazioni asincrone avviate dall'applicazione client.

Parameters.Verify

Contiene i risultati di una chiamata asincrona a WinBioVerify.

Parameters.Verify.Match

Specifica se l'esempio acquisito corrisponde all'identità utente.

Parameters.Verify.RejectDetail

Informazioni aggiuntive sull'errore di verifica. Per altre informazioni, vedere la sezione Osservazioni.

Parameters.Identify

Contiene i risultati di una chiamata asincrona a WinBioIdentify.

Parameters.Identify.Identity

GUID o SID dell'utente che fornisce il campione biometrico.

Parameters.Identify.SubFactor

Sotto-fattore associato al campione biometrico. Per altre informazioni, vedere la sezione Osservazioni.

Parameters.Identify.RejectDetail

Informazioni aggiuntive sull'errore, se presente, per acquisire e identificare un campione biometrico. Per altre informazioni, vedere la sezione Osservazioni.

Parameters.EnrollBegin

Contiene i risultati di una chiamata asincrona a WinBioEnrollBegin.

Parameters.EnrollBegin.SubFactor

Informazioni aggiuntive sulla registrazione. Per altre informazioni, vedere la sezione Osservazioni.

Parameters.EnrollCapture

Contiene i risultati di una chiamata asincrona a WinBioEnrollCapture.

Parameters.EnrollCapture.RejectDetail

Informazioni aggiuntive sull'errore di acquisizione di un campione biometrico. Per altre informazioni, vedere la sezione Osservazioni.

Parameters.EnrollCommit

Contiene i risultati di una chiamata asincrona a WinBioEnrollCommit.

Parameters.EnrollCommit.Identity

GUID o SID del modello da salvare.

Parameters.EnrollCommit.IsNewTemplate

Specifica se il modello da aggiungere al database è nuovo.

Parameters.EnumEnrollments

Contiene i risultati di una chiamata asincrona a WinBioEnumEnrollments.

Parameters.EnumEnrollments.Identity

GUID o SID del modello da cui sono stati recuperati i sotto-fattori.

Parameters.EnumEnrollments.SubFactorCount

Numero di elementi nella matrice a cui punta il membro SubFactorArray .

Parameters.EnumEnrollments.SubFactorArray

Puntatore a una matrice di sotto-fattori. Per altre informazioni, vedere la sezione Osservazioni.

Parameters.CaptureSample

Contiene i risultati di una chiamata asincrona a WinBioCaptureSample.

Parameters.CaptureSample.Sample

Puntatore a una struttura WINBIO_BIR che contiene l'esempio.

Parameters.CaptureSample.SampleSize

Dimensioni, in byte, della struttura WINBIO_BIR restituita nel membro Sample .

Parameters.CaptureSample.RejectDetail

Informazioni aggiuntive sull'errore di acquisizione di un campione biometrico. Per altre informazioni, vedere la sezione Osservazioni.

Parameters.DeleteTemplate

Contiene i risultati di una chiamata asincrona a WinBioDeleteTemplate.

Parameters.DeleteTemplate.Identity

GUID o SID del modello eliminato.

Parameters.DeleteTemplate.SubFactor

Informazioni aggiuntive sul modello.

Parameters.GetProperty

Contiene i risultati di una chiamata asincrona a WinBioGetProperty.

Parameters.GetProperty.PropertyType

Origine delle informazioni sulle proprietà. Attualmente sarà WINBIO_PROPERTY_TYPE_UNIT.

Parameters.GetProperty.PropertyId

Proprietà su cui è stata eseguita una query. Attualmente sarà WINBIO_PROPERTY_SAMPLE_HINT.

Parameters.GetProperty.Identity

Si tratta di un valore riservato e sarà NULL.

Parameters.GetProperty.SubFactor

Questa operazione è riservata e verrà WINBIO_SUBTYPE_NO_INFORMATION.

Parameters.GetProperty.PropertyBufferSize

Dimensioni, in byte, del valore della proprietà a cui punta il membro PropertyBuffer .

Parameters.GetProperty.PropertyBuffer

Puntatore al valore della proprietà.

Parameters.SetProperty

Contiene i risultati di una chiamata asincrona a WinBioSetProperty. Questo membro è supportato a partire da Windows 10.

SetProperty.PropretyBufferSize

Dimensione, in byte, della struttura a cui punta il parametro PropertyBuffer .

Parameters.SetProperty.PropertyType

Valore WINBIO_PROPERTY_TYPE che specifica il tipo della proprietà impostata. Attualmente questo può essere solo WINBIO_PROPERTY_TYPE_ACCOUNT.

Parameters.SetProperty.PropertyId

Valore WINBIO_PROPERTY_ID che specifica la proprietà impostata. Attualmente questo valore può essere WINBIO_PROPERTY_ANTI_SPOOF_POLICY. Tutte le altre proprietà sono di sola lettura.

Parameters.SetProperty.Identity

Struttura WINBIO_IDENTITY che specifica l'account per il quale è stata impostata la proprietà.

Parameters.SetProperty.SubFactor

Riservato. Attualmente, questo valore sarà sempre WINBIO_SUBTYPE_NO_INFORMATION.

Parameters.SetProperty.PropertyBufferSize

Parameters.SetProperty.PropertyBuffer

Puntatore a una struttura che specifica il valore a cui è stata impostata la proprietà. Per la proprietà WINBIO_PROPERTY_ANTI_SPOOF_POLICY , la struttura è una struttura WINBIO_ANTI_SPOOF_POLICY .

Parameters.GetEvent

Contiene informazioni sullo stato sull'evento generato.

Parameters.GetEvent.Event

Contiene informazioni sugli eventi.

Parameters.ControlUnit

Contiene i risultati di una chiamata asincrona a WinBioControlUnit o WinBioControlUnitPrivileged.

Parameters.ControlUnit.Component

Componente all'interno dell'unità biometrica che ha eseguito l'operazione.

Parameters.ControlUnit.ControlCode

Codice definito dal fornitore riconosciuto dall'unità biometrica specificata dal parametro UnitId della funzione WinBioControlUnit o WinBioControlUnitPrivileged e dell'adattatore specificato dal parametro Component .

Parameters.ControlUnit.OperationStatus

Codice di stato definito dal fornitore che specifica il risultato dell'operazione di controllo.

Parameters.ControlUnit.SendBuffer

Puntatore a un buffer contenente le informazioni sul controllo inviate all'adattatore dal componente. Il formato e il contenuto del buffer sono definiti dal fornitore.

Parameters.ControlUnit.SendBufferSize

Dimensioni, in byte, del buffer specificato dal membro SendBuffer .

Parameters.ControlUnit.ReceiveBuffer

Puntatore a un buffer che riceve le informazioni inviate dall'adattatore specificato dal membro Component . Il formato e il contenuto del buffer sono definiti dal fornitore.

Parameters.ControlUnit.ReceiveBufferSize

Dimensioni, in byte, del buffer specificato dal membro ReceiveBuffer .

Parameters.ControlUnit.ReceiveDataSize

Dimensioni, in byte, dei dati scritti nel buffer specificato dal membro ReceiveBuffer .

Parameters.EnumServiceProviders

Contiene i risultati di una chiamata asincrona a WinBioEnumServiceProviders o WinBioAsyncEnumServiceProviders.

Parameters.EnumServiceProviders.BspCount

Numero di strutture a cui punta il membro BspSchemaArray .

Parameters.EnumServiceProviders.BspSchemaArray

Puntatore a una matrice di strutture WINBIO_BSP_SCHEMA che contengono informazioni su ognuno dei provider di servizi disponibili.

Parameters.EnumBiometricUnits

Contiene i risultati di una chiamata asincrona a WinBioEnumBiometricUnits o WinBioAsyncEnumBiometricUnits.

Parameters.EnumBiometricUnits.UnitCount

Numero di strutture a cui punta il membro UnitSchemaArray .

Parameters.EnumBiometricUnits.UnitSchemaArray

Matrice di strutture WINBIO_UNIT_SCHEMA che contengono informazioni su ogni unità biometrica enumerata.

Parameters.EnumDatabases

Contiene i risultati di una chiamata asincrona a WinBioEnumDatabases o WinBioAsyncEnumDatabases.

Parameters.EnumDatabases.StorageCount

Numero di strutture a cui punta il membro StorageSchemaArray .

Parameters.EnumDatabases.StorageSchemaArray

Matrice di strutture WINBIO_STORAGE_SCHEMA che contengono informazioni su ogni database.

Parameters.VerifyAndReleaseTicket

Riservato. Questo membro è supportato a partire da Windows 10.

Parameters.VerifyAndReleaseTicket.Match

Riservato.

Parameters.VerifyAndReleaseTicket.RejectDetail

Riservato.

Parameters.VerifyAndReleaseTicket.Ticket

Riservato.

Parameters.IdentifyAndReleaseTicket

Riservato. Questo membro è supportato a partire da Windows 10.

Parameters.IdentifyAndReleaseTicket.Identity

Riservato.

Parameters.IdentifyAndReleaseTicket.SubFactor

Riservato.

Parameters.IdentifyAndReleaseTicket.RejectDetail

Riservato.

Parameters.IdentifyAndReleaseTicket.Ticket

Riservato.

Parameters.EnrollSelect

Contiene i risultati di una chiamata asincrona a WinBioEnrollSelect. Questo membro è supportato a partire da Windows 10.

Parameters.EnrollSelect.SelectorValue

Valore che identifica la singola persona selezionata per la registrazione.

Parameters.MonitorPresence

Contiene i risultati di una chiamata asincrona a WinBioMonitorPresence. Questo membro è supportato a partire da Windows 10.

Parameters.MonitorPresence.ChangeType

Valore WINBIO_PRESENCE_CHANGE che indica il tipo di evento che si è verificato.

Parameters.MonitorPresence.PresenceCount

Dimensione della matrice a cui punta il membro MonitorPresence.PresenceArray .

Parameters.MonitorPresence.PresenceArray

Indirizzo della matrice di strutture WINBIO_PRESENCE , una per ogni singolo monitorato.

Parameters.GetProtectionPolicy

Parameters.GetProtectionPolicy.Identity

Parameters.GetProtectionPolicy.Policy

Parameters.NotifyUnitStatusChange

Parameters.NotifyUnitStatusChange.ExtendedStatus

Commenti

Le operazioni asincrone vengono avviate aprendo una sessione biometrica o una sessione del framework. Chiamare WinBioAsyncOpenSession per aprire una sessione biometrica. Chiamare WinBioAsyncOpenFramework per aprire una sessione del framework.

È possibile usare un handle di sessione biometrica asincrona per chiamare una delle operazioni seguenti in modo asincrono:

È possibile usare un handle framework asincrono per chiamare le operazioni seguenti in modo asincrono:

La struttura WINBIO_ASYNC_RESULT viene allocata internamente da Windows Biometric Framework. Pertanto, quando si usa, chiamare WinBioFree per rilasciare la memoria allocata ed evitare perdite. Poiché questo rilascia anche tutte le strutture dati annidate, non è consigliabile mantenere una copia di puntatori restituiti nella struttura WINBIO_ASYNC_RESULT . Se si desidera salvare i dati restituiti in una struttura annidata, creare una copia privata dei dati prima di chiamare WinBioFree.

Windows 8, Windows Server 2012, Windows 8.1 e Windows Server 2012 R2: Windows Biometric Framework supporta solo i lettori di impronta digitale. Pertanto, se un'operazione ha esito negativo e restituisce informazioni aggiuntive in una costante WINBIO_REJECT_DETAIL , sarà uno dei valori seguenti:

  • 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

Inoltre, se un'operazione usa un tipo di dati WINBIO_BIOMETRIC_SUBTYPE , sarà uno dei valori seguenti:

  • 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

Requisiti

Requisito Valore
Client minimo supportato Windows 8 [solo app desktop]
Server minimo supportato Windows Server 2012 [solo app desktop]
Intestazione winbio.h

Vedi anche

costanti WINBIO_REJECT_DETAIL

WinBioAsyncOpenFramework

WinBioAsyncOpenSession