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:
- WinBioCancel
- WinBioCaptureSample
- WinBioCloseSession
- WinBioControlUnit
- WinBioControlUnitPrivileged
- WinBioDeleteTemplate
- WinBioEnrollBegin
- WinBioEnrollCapture
- WinBioEnrollCommit
- WinBioEnrollDiscard
- WinBioEnumEnrollments
- WinBioGetProperty
- WinBioIdentify
- WinBioLocateSensor
- WinBioLockUnit
- WinBioLogonIdentifiedUser
- WinBioRegisterEventMonitor
- WinBioUnlockUnit
- WinBioUnregisterEventMonitor
- WinBioVerify
- WinBioWait
- WinBioSetProperty
- WinBioEnrollSelect
- WinBioMonitorPresence
È possibile usare un handle framework asincrono per chiamare le operazioni seguenti in modo asincrono:
- WinBioAsyncEnumBiometricUnits
- WinBioAsyncEnumDatabases
- WinBioAsyncOpenFramework
- WinBioAsyncEnumServiceProviders
- WinBioAsyncMonitorFrameworkChanges
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 |