Partager via


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 :

Vous pouvez utiliser un handle d’infrastructure asynchrone pour appeler les opérations suivantes de façon asynchrone :

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

Voir aussi

constantes WINBIO_REJECT_DETAIL

WinBioAsyncOpenFramework

WinBioAsyncOpenSession