structure WINBIO_ASYNC_RESULT (winbio.h)
La structure WINBIO_ASYNC_RESULT contient les résultats d’une opération asynchrone.
Syntaxe
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;
Membres
SessionHandle
Handle d’une session asynchrone démarrée en appelant la fonction WinBioAsyncOpenSession ou la fonction WinBioAsyncOpenFramework .
Operation
Type de l’opération asynchrone. Pour plus d’informations, consultez Constantes WINBIO_OPERATION_TYPE.
SequenceNumber
Numéro de séquence de l’opération asynchrone. Les entiers sont attribués séquentiellement pour chaque opération dans une session biométrique, à partir de un (1). Pour toute session, l’opération d’ouverture se voit toujours attribuer le premier numéro de séquence et l’opération de fermeture se voit attribuer le dernier numéro de séquence. Si votre application met en file d’attente plusieurs opérations, vous pouvez utiliser des numéros de séquence pour gérer les erreurs. Par exemple, vous pouvez ignorer les résultats de l’opération jusqu’à ce qu’un numéro de séquence spécifique soit envoyé à l’application.
TimeStamp
Date et heure du système à laquelle l’opération biométrique a commencé. Pour plus d’informations, consultez la fonction GetSystemTimeAsFileTime .
ApiStatus
Code d’erreur retourné par l’opération.
UnitId
Identificateur d’unité numérique de l’unité biométrique qui a effectué l’opération.
UserData
Adresse d’une mémoire tampon facultative fournie par l’appelant. La mémoire tampon n’est pas modifiée par l’infrastructure ou l’unité biométrique. Votre application peut utiliser les données pour l’aider à déterminer les actions à effectuer à la réception de l’avis d’achèvement ou pour conserver des informations supplémentaires sur l’opération demandée.
Parameters
Union qui entoure les structures imbriquées qui contiennent des informations supplémentaires sur la réussite ou l’échec des opérations asynchrones commencées par l’application cliente.
Parameters.Verify
Contient les résultats d’un appel asynchrone à WinBioVerify.
Parameters.Verify.Match
Spécifie si l’exemple capturé correspond à l’identité de l’utilisateur.
Parameters.Verify.RejectDetail
Informations supplémentaires sur l’échec de vérification. Pour plus d'informations, consultez la section Notes.
Parameters.Identify
Contient les résultats d’un appel asynchrone à WinBioIdentify.
Parameters.Identify.Identity
GUID ou SID de l’utilisateur qui fournit l’échantillon biométrique.
Parameters.Identify.SubFactor
Sous-facteur associé à l’échantillon biométrique. Pour plus d'informations, consultez la section Notes.
Parameters.Identify.RejectDetail
Informations supplémentaires sur l’échec, le cas échéant, de capture et d’identification d’un échantillon biométrique. Pour plus d'informations, consultez la section Notes.
Parameters.EnrollBegin
Contient les résultats d’un appel asynchrone à WinBioEnrollBegin.
Parameters.EnrollBegin.SubFactor
Informations supplémentaires sur l’inscription. Pour plus d'informations, consultez la section Notes.
Parameters.EnrollCapture
Contient les résultats d’un appel asynchrone à WinBioEnrollCapture.
Parameters.EnrollCapture.RejectDetail
Informations supplémentaires sur l’échec de la capture d’un échantillon biométrique. Pour plus d'informations, consultez la section Notes.
Parameters.EnrollCommit
Contient les résultats d’un appel asynchrone à WinBioEnrollCommit.
Parameters.EnrollCommit.Identity
GUID ou SID du modèle à enregistrer.
Parameters.EnrollCommit.IsNewTemplate
Spécifie si le modèle ajouté à la base de données est nouveau.
Parameters.EnumEnrollments
Contient les résultats d’un appel asynchrone à WinBioEnumEnrollments.
Parameters.EnumEnrollments.Identity
GUID ou SID du modèle à partir duquel les sous-facteurs ont été récupérés.
Parameters.EnumEnrollments.SubFactorCount
Nombre d’éléments dans le tableau pointés par le membre SubFactorArray .
Parameters.EnumEnrollments.SubFactorArray
Pointeur vers un tableau de sous-facteurs. Pour plus d'informations, consultez la section Notes.
Parameters.CaptureSample
Contient les résultats d’un appel asynchrone à WinBioCaptureSample.
Parameters.CaptureSample.Sample
Pointeur vers une structure WINBIO_BIR qui contient l’exemple.
Parameters.CaptureSample.SampleSize
Taille, en octets, de la structure WINBIO_BIR retournée dans le membre Sample .
Parameters.CaptureSample.RejectDetail
Informations supplémentaires sur l’échec de la capture d’un échantillon biométrique. Pour plus d'informations, consultez la section Notes.
Parameters.DeleteTemplate
Contient les résultats d’un appel asynchrone à WinBioDeleteTemplate.
Parameters.DeleteTemplate.Identity
GUID ou SID du modèle supprimé.
Parameters.DeleteTemplate.SubFactor
Informations supplémentaires sur le modèle.
Parameters.GetProperty
Contient les résultats d’un appel asynchrone à WinBioGetProperty.
Parameters.GetProperty.PropertyType
Source des informations de propriété. Actuellement, ce sera WINBIO_PROPERTY_TYPE_UNIT.
Parameters.GetProperty.PropertyId
Propriété interrogée. Actuellement, ce sera WINBIO_PROPERTY_SAMPLE_HINT.
Parameters.GetProperty.Identity
Il s’agit d’une valeur réservée qui sera NULL.
Parameters.GetProperty.SubFactor
Il est réservé et sera WINBIO_SUBTYPE_NO_INFORMATION.
Parameters.GetProperty.PropertyBufferSize
Taille, en octets, de la valeur de propriété pointée par le membre PropertyBuffer .
Parameters.GetProperty.PropertyBuffer
Pointeur vers la valeur de propriété.
Parameters.SetProperty
Contient les résultats d’un appel asynchrone à WinBioSetProperty. Ce membre est pris en charge à partir de Windows 10.
SetProperty.PropretyBufferSize
Taille, en octets, de la structure vers laquelle pointe le paramètre PropertyBuffer .
Parameters.SetProperty.PropertyType
Valeur WINBIO_PROPERTY_TYPE qui spécifie le type de la propriété qui a été définie. Actuellement, cela ne peut être WINBIO_PROPERTY_TYPE_ACCOUNT.
Parameters.SetProperty.PropertyId
Valeur WINBIO_PROPERTY_ID qui spécifie la propriété qui a été définie. Actuellement, cette valeur ne peut être WINBIO_PROPERTY_ANTI_SPOOF_POLICY. Toutes les autres propriétés sont en lecture seule.
Parameters.SetProperty.Identity
Structure WINBIO_IDENTITY qui spécifie le compte pour lequel la propriété a été définie.
Parameters.SetProperty.SubFactor
Réservé. Actuellement, cette valeur est toujours WINBIO_SUBTYPE_NO_INFORMATION.
Parameters.SetProperty.PropertyBufferSize
Parameters.SetProperty.PropertyBuffer
Pointeur vers une structure qui spécifie la valeur sur laquelle la propriété a été définie. Pour la propriété WINBIO_PROPERTY_ANTI_SPOOF_POLICY , la structure est une structure WINBIO_ANTI_SPOOF_POLICY .
Parameters.GetEvent
Contient status informations sur l’événement qui a été déclenché.
Parameters.GetEvent.Event
Contient des informations sur les événements.
Parameters.ControlUnit
Contient les résultats d’un appel asynchrone à WinBioControlUnit ou WinBioControlUnitPrivileged.
Parameters.ControlUnit.Component
Composant au sein de l’unité biométrique qui a effectué l’opération.
Parameters.ControlUnit.ControlCode
Code défini par le fournisseur reconnu par l’unité biométrique spécifiée par le paramètre UnitId de la fonction WinBioControlUnit ou WinBioControlUnitPrivileged et l’adaptateur spécifié par le paramètre Component .
Parameters.ControlUnit.OperationStatus
Code status défini par le fournisseur qui spécifie le résultat de l’opération de contrôle.
Parameters.ControlUnit.SendBuffer
Pointeur vers une mémoire tampon qui contient les informations de contrôle envoyées à l’adaptateur par le composant. Le format et le contenu de la mémoire tampon sont définis par le fournisseur.
Parameters.ControlUnit.SendBufferSize
Taille, en octets, de la mémoire tampon spécifiée par le membre SendBuffer .
Parameters.ControlUnit.ReceiveBuffer
Pointeur vers une mémoire tampon qui reçoit des informations envoyées par l’adaptateur spécifié par le membre Component . Le format et le contenu de la mémoire tampon sont définis par le fournisseur.
Parameters.ControlUnit.ReceiveBufferSize
Taille, en octets, de la mémoire tampon spécifiée par le membre ReceiveBuffer .
Parameters.ControlUnit.ReceiveDataSize
Taille, en octets, des données écrites dans la mémoire tampon spécifiée par le membre ReceiveBuffer .
Parameters.EnumServiceProviders
Contient les résultats d’un appel asynchrone à WinBioEnumServiceProviders ou WinBioAsyncEnumServiceProviders.
Parameters.EnumServiceProviders.BspCount
Nombre de structures pointées par le membre BspSchemaArray .
Parameters.EnumServiceProviders.BspSchemaArray
Pointeur vers un tableau de structures WINBIO_BSP_SCHEMA qui contiennent des informations sur chacun des fournisseurs de services disponibles.
Parameters.EnumBiometricUnits
Contient les résultats d’un appel asynchrone à WinBioEnumBiometricUnits ou WinBioAsyncEnumBiometricUnits.
Parameters.EnumBiometricUnits.UnitCount
Nombre de structures pointées par le membre UnitSchemaArray .
Parameters.EnumBiometricUnits.UnitSchemaArray
Tableau de structures WINBIO_UNIT_SCHEMA qui contiennent des informations sur chaque unité biométrique énumérée.
Parameters.EnumDatabases
Contient les résultats d’un appel asynchrone à WinBioEnumDatabases ou WinBioAsyncEnumDatabases.
Parameters.EnumDatabases.StorageCount
Nombre de structures pointées par le membre StorageSchemaArray .
Parameters.EnumDatabases.StorageSchemaArray
Tableau de structures WINBIO_STORAGE_SCHEMA qui contiennent des informations sur chaque base de données.
Parameters.VerifyAndReleaseTicket
Réservé. Ce membre est pris en charge à partir de Windows 10.
Parameters.VerifyAndReleaseTicket.Match
Réservé.
Parameters.VerifyAndReleaseTicket.RejectDetail
Réservé.
Parameters.VerifyAndReleaseTicket.Ticket
Réservé.
Parameters.IdentifyAndReleaseTicket
Réservé. Ce membre est pris en charge à partir de Windows 10.
Parameters.IdentifyAndReleaseTicket.Identity
Réservé.
Parameters.IdentifyAndReleaseTicket.SubFactor
Réservé.
Parameters.IdentifyAndReleaseTicket.RejectDetail
Réservé.
Parameters.IdentifyAndReleaseTicket.Ticket
Réservé.
Parameters.EnrollSelect
Contient les résultats d’un appel asynchrone à WinBioEnrollSelect. Ce membre est pris en charge à partir de Windows 10.
Parameters.EnrollSelect.SelectorValue
Valeur qui identifie la personne sélectionnée pour l’inscription.
Parameters.MonitorPresence
Contient les résultats d’un appel asynchrone à WinBioMonitorPresence. Ce membre est pris en charge à partir de Windows 10.
Parameters.MonitorPresence.ChangeType
Valeur WINBIO_PRESENCE_CHANGE qui indique le type d’événement qui s’est produit.
Parameters.MonitorPresence.PresenceCount
Taille du tableau vers lequel pointe le membre MonitorPresence.PresenceArray .
Parameters.MonitorPresence.PresenceArray
Adresse du tableau de structures WINBIO_PRESENCE , une pour chaque personne surveillée.
Parameters.GetProtectionPolicy
Parameters.GetProtectionPolicy.Identity
Parameters.GetProtectionPolicy.Policy
Parameters.NotifyUnitStatusChange
Parameters.NotifyUnitStatusChange.ExtendedStatus
Remarques
Les opérations asynchrones commencent par l’ouverture d’une session biométrique ou d’une session d’infrastructure. Appelez WinBioAsyncOpenSession pour ouvrir une session biométrique. Appelez WinBioAsyncOpenFramework pour ouvrir une session d’infrastructure.
Vous pouvez utiliser un handle de session biométrique asynchrone pour appeler l’une des opérations suivantes de manière asynchrone :
- WinBioCancel
- WinBioCaptureSample
- WinBioCloseSession
- WinBioControlUnit
- WinBioControlUnitPrivileged
- WinBioDeleteTemplate
- WinBioEnrollBegin
- WinBioEnrollCapture
- WinBioEnrollCommit
- WinBioEnrollDiscard
- WinBioEnumEnrollments
- WinBioGetProperty
- WinBioIdentify
- WinBioLocateSensor
- WinBioLockUnit
- WinBioLogonIdentifiedUser
- WinBioRegisterEventMonitor
- WinBioUnlockUnit
- WinBioUnregisterEventMonitor
- WinBioVerify
- WinBioWait
- WinBioSetProperty
- WinBioEnrollSelect
- WinBioMonitorPresence
Vous pouvez utiliser un handle d’infrastructure asynchrone pour appeler les opérations suivantes de façon asynchrone :
- WinBioAsyncEnumBiometricUnits
- WinBioAsyncEnumDatabases
- WinBioAsyncOpenFramework
- WinBioAsyncEnumServiceProviders
- WinBioAsyncMonitorFrameworkChanges
La structure WINBIO_ASYNC_RESULT est allouée en interne par l’infrastructure biométrique Windows. Par conséquent, lorsque vous l’utilisez, appelez WinBioFree pour libérer la mémoire allouée et éviter les fuites. Étant donné que cela libère également toutes les structures de données imbriquées, vous ne devez pas conserver une copie des pointeurs retournés dans la structure WINBIO_ASYNC_RESULT . Si vous souhaitez enregistrer les données retournées dans une structure imbriquée, effectuez une copie privée de ces données avant d’appeler WinBioFree.
Windows 8, Windows Server 2012, Windows 8.1 et Windows Server 2012 R2 : l’infrastructure biométrique Windows ne prend en charge que les lecteurs d’empreintes digitales. Par conséquent, si une opération échoue et retourne des informations supplémentaires dans une constante WINBIO_REJECT_DETAIL , il s’agit de l’une des valeurs suivantes :
- 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
En outre, si une opération utilise un type de données WINBIO_BIOMETRIC_SUBTYPE , il s’agit de l’une des valeurs suivantes :
- 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
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 8 [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2012 [applications de bureau uniquement] |
En-tête | winbio.h |