Compartir a través de


estructura WINBIO_ASYNC_RESULT (winbio.h)

La estructura WINBIO_ASYNC_RESULT contiene los resultados de una operación asincrónica.

Sintaxis

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;

Miembros

SessionHandle

Identificador de una sesión asincrónica iniciada llamando a la función WinBioAsyncOpenSession o a la función WinBioAsyncOpenFramework .

Operation

Tipo de la operación asincrónica. Para obtener más información, vea WINBIO_OPERATION_TYPE Constantes.

SequenceNumber

Número de secuencia de la operación asincrónica. Los enteros se asignan secuencialmente para cada operación de una sesión biométrica, empezando por uno (1). En cualquier sesión, a la operación abierta siempre se le asigna el primer número de secuencia y a la operación de cierre se le asigna el último número de secuencia. Si la aplicación pone en cola varias operaciones, puede usar números de secuencia para realizar el control de errores. Por ejemplo, puede omitir los resultados de la operación hasta que se envíe un número de secuencia específico a la aplicación.

TimeStamp

Fecha y hora del sistema en la que comenzó la operación biométrica. Para obtener más información, vea la función GetSystemTimeAsFileTime .

ApiStatus

Código de error devuelto por la operación.

UnitId

Identificador de unidad numérica de la unidad biométrica que realizó la operación.

UserData

Dirección de un búfer opcional proporcionado por el autor de la llamada. El marco o la unidad biométrica no modifican el búfer. La aplicación puede usar los datos para ayudar a determinar qué acciones realizar al recibir el aviso de finalización o para mantener información adicional sobre la operación solicitada.

Parameters

Unión que incluye estructuras anidadas que contienen información adicional sobre el éxito o error de las operaciones asincrónicas iniciadas por la aplicación cliente.

Parameters.Verify

Contiene los resultados de una llamada asincrónica a WinBioVerify.

Parameters.Verify.Match

Especifica si el ejemplo capturado coincide con la identidad del usuario.

Parameters.Verify.RejectDetail

Información adicional sobre el error de comprobación. Para obtener más información, vea la sección Comentarios.

Parameters.Identify

Contiene los resultados de una llamada asincrónica a WinBioIdentify.

Parameters.Identify.Identity

GUID o SID del usuario que proporciona la muestra biométrica.

Parameters.Identify.SubFactor

Subfactor asociado a la muestra biométrica. Para obtener más información, vea la sección Comentarios.

Parameters.Identify.RejectDetail

Información adicional sobre el error, si existe, para capturar e identificar una muestra biométrica. Para obtener más información, vea la sección Comentarios.

Parameters.EnrollBegin

Contiene los resultados de una llamada asincrónica a WinBioEnrollBegin.

Parameters.EnrollBegin.SubFactor

Información adicional sobre la inscripción. Para obtener más información, vea la sección Comentarios.

Parameters.EnrollCapture

Contiene los resultados de una llamada asincrónica a WinBioEnrollCapture.

Parameters.EnrollCapture.RejectDetail

Información adicional sobre el error de captura de una muestra biométrica. Para obtener más información, vea la sección Comentarios.

Parameters.EnrollCommit

Contiene los resultados de una llamada asincrónica a WinBioEnrollCommit.

Parameters.EnrollCommit.Identity

GUID o SID de la plantilla que se va a guardar.

Parameters.EnrollCommit.IsNewTemplate

Especifica si la plantilla que se va a agregar a la base de datos es nueva.

Parameters.EnumEnrollments

Contiene los resultados de una llamada asincrónica a WinBioEnumEnrollments.

Parameters.EnumEnrollments.Identity

GUID o SID de la plantilla desde la que se recuperaron los subfactores.

Parameters.EnumEnrollments.SubFactorCount

Número de elementos de la matriz a los que apunta el miembro SubFactorArray .

Parameters.EnumEnrollments.SubFactorArray

Puntero a una matriz de subfactores. Para obtener más información, vea la sección Comentarios.

Parameters.CaptureSample

Contiene los resultados de una llamada asincrónica a WinBioCaptureSample.

Parameters.CaptureSample.Sample

Puntero a una estructura de WINBIO_BIR que contiene el ejemplo.

Parameters.CaptureSample.SampleSize

Tamaño, en bytes, de la estructura WINBIO_BIR devuelta en el miembro Sample .

Parameters.CaptureSample.RejectDetail

Información adicional sobre el error de captura de una muestra biométrica. Para obtener más información, vea la sección Comentarios.

Parameters.DeleteTemplate

Contiene los resultados de una llamada asincrónica a WinBioDeleteTemplate.

Parameters.DeleteTemplate.Identity

GUID o SID de la plantilla que se eliminó.

Parameters.DeleteTemplate.SubFactor

Información adicional sobre la plantilla.

Parameters.GetProperty

Contiene los resultados de una llamada asincrónica a WinBioGetProperty.

Parameters.GetProperty.PropertyType

Origen de la información de la propiedad. Actualmente se WINBIO_PROPERTY_TYPE_UNIT.

Parameters.GetProperty.PropertyId

Propiedad consultada. Actualmente se WINBIO_PROPERTY_SAMPLE_HINT.

Parameters.GetProperty.Identity

Se trata de un valor reservado y será NULL.

Parameters.GetProperty.SubFactor

Se reserva y se WINBIO_SUBTYPE_NO_INFORMATION.

Parameters.GetProperty.PropertyBufferSize

Tamaño, en bytes, del valor de propiedad al que apunta el miembro PropertyBuffer .

Parameters.GetProperty.PropertyBuffer

Puntero al valor de propiedad.

Parameters.SetProperty

Contiene los resultados de una llamada asincrónica a WinBioSetProperty. Este miembro se admite a partir de Windows 10.

SetProperty.PropretyBufferSize

Tamaño, en bytes, de la estructura a la que apunta el parámetro PropertyBuffer .

Parameters.SetProperty.PropertyType

Valor de WINBIO_PROPERTY_TYPE que especifica el tipo de la propiedad que se estableció. Actualmente, esto solo puede ser WINBIO_PROPERTY_TYPE_ACCOUNT.

Parameters.SetProperty.PropertyId

Valor WINBIO_PROPERTY_ID que especifica la propiedad que se estableció. Actualmente, este valor solo puede ser WINBIO_PROPERTY_ANTI_SPOOF_POLICY. El resto de las propiedades son de sólo lectura.

Parameters.SetProperty.Identity

Estructura WINBIO_IDENTITY que especifica la cuenta para la que se estableció la propiedad.

Parameters.SetProperty.SubFactor

Reservado. Actualmente, este valor siempre será WINBIO_SUBTYPE_NO_INFORMATION.

Parameters.SetProperty.PropertyBufferSize

Parameters.SetProperty.PropertyBuffer

Puntero a una estructura que especifica el valor al que se estableció la propiedad. Para la propiedad WINBIO_PROPERTY_ANTI_SPOOF_POLICY , la estructura es una estructura WINBIO_ANTI_SPOOF_POLICY .

Parameters.GetEvent

Contiene información de estado sobre el evento que se generó.

Parameters.GetEvent.Event

Contiene información de eventos.

Parameters.ControlUnit

Contiene los resultados de una llamada asincrónica a WinBioControlUnit o WinBioControlUnitPrivileged.

Parameters.ControlUnit.Component

Componente de la unidad biométrica que realizó la operación.

Parameters.ControlUnit.ControlCode

Código definido por el proveedor reconocido por la unidad biométrica especificada por el parámetro UnitId de la función WinBioControlUnit o WinBioControlUnitPrivileged y el adaptador especificado por el parámetro Component .

Parameters.ControlUnit.OperationStatus

Código de estado definido por el proveedor que especifica el resultado de la operación de control.

Parameters.ControlUnit.SendBuffer

Puntero a un búfer que contiene la información de control enviada al adaptador por el componente. El formato y el contenido del búfer están definidos por el proveedor.

Parameters.ControlUnit.SendBufferSize

Tamaño, en bytes, del búfer especificado por el miembro SendBuffer .

Parameters.ControlUnit.ReceiveBuffer

Puntero a un búfer que recibe información enviada por el adaptador especificado por el miembro Componente . El formato y el contenido del búfer están definidos por el proveedor.

Parameters.ControlUnit.ReceiveBufferSize

Tamaño, en bytes, del búfer especificado por el miembro ReceiveBuffer .

Parameters.ControlUnit.ReceiveDataSize

Tamaño, en bytes, de los datos escritos en el búfer especificado por el miembro ReceiveBuffer .

Parameters.EnumServiceProviders

Contiene los resultados de una llamada asincrónica a WinBioEnumServiceProviders o WinBioAsyncEnumServiceProviders.

Parameters.EnumServiceProviders.BspCount

Número de estructuras a las que apunta el miembro BspSchemaArray .

Parameters.EnumServiceProviders.BspSchemaArray

Puntero a una matriz de estructuras de WINBIO_BSP_SCHEMA que contienen información sobre cada uno de los proveedores de servicios disponibles.

Parameters.EnumBiometricUnits

Contiene los resultados de una llamada asincrónica a WinBioEnumBiometricUnits o WinBioAsyncEnumBiometricUnits.

Parameters.EnumBiometricUnits.UnitCount

Número de estructuras a las que apunta el miembro UnitSchemaArray .

Parameters.EnumBiometricUnits.UnitSchemaArray

Matriz de estructuras de WINBIO_UNIT_SCHEMA que contienen información sobre cada unidad biométrica enumerada.

Parameters.EnumDatabases

Contiene los resultados de una llamada asincrónica a WinBioEnumDatabases o WinBioAsyncEnumDatabases.

Parameters.EnumDatabases.StorageCount

Número de estructuras a las que apunta el miembro StorageSchemaArray .

Parameters.EnumDatabases.StorageSchemaArray

Matriz de estructuras de WINBIO_STORAGE_SCHEMA que contienen información sobre cada base de datos.

Parameters.VerifyAndReleaseTicket

Reservado. Este miembro se admite a partir de Windows 10.

Parameters.VerifyAndReleaseTicket.Match

Reservado.

Parameters.VerifyAndReleaseTicket.RejectDetail

Reservado.

Parameters.VerifyAndReleaseTicket.Ticket

Reservado.

Parameters.IdentifyAndReleaseTicket

Reservado. Este miembro se admite a partir de Windows 10.

Parameters.IdentifyAndReleaseTicket.Identity

Reservado.

Parameters.IdentifyAndReleaseTicket.SubFactor

Reservado.

Parameters.IdentifyAndReleaseTicket.RejectDetail

Reservado.

Parameters.IdentifyAndReleaseTicket.Ticket

Reservado.

Parameters.EnrollSelect

Contiene los resultados de una llamada asincrónica a WinBioEnrollSelect. Este miembro se admite a partir de Windows 10.

Parameters.EnrollSelect.SelectorValue

Valor que identifica a esa persona seleccionada para la inscripción.

Parameters.MonitorPresence

Contiene los resultados de una llamada asincrónica a WinBioMonitorPresence. Este miembro se admite a partir de Windows 10.

Parameters.MonitorPresence.ChangeType

Valor de WINBIO_PRESENCE_CHANGE que indica el tipo de evento que se produjo.

Parameters.MonitorPresence.PresenceCount

Tamaño de la matriz a la que apunta el miembro MonitorPresence.PresenceArray .

Parameters.MonitorPresence.PresenceArray

Dirección de la matriz de estructuras de WINBIO_PRESENCE , una para cada monitor individual.

Parameters.GetProtectionPolicy

Parameters.GetProtectionPolicy.Identity

Parameters.GetProtectionPolicy.Policy

Parameters.NotifyUnitStatusChange

Parameters.NotifyUnitStatusChange.ExtendedStatus

Comentarios

Las operaciones asincrónicas se inician abriendo una sesión biométrica o una sesión de marco. Llame a WinBioAsyncOpenSession para abrir una sesión biométrica. Llame a WinBioAsyncOpenFramework para abrir una sesión de marco.

Puede usar un identificador de sesión biométrica asincrónica para llamar a cualquiera de las siguientes operaciones de forma asincrónica:

Puede usar un identificador de marco asincrónico para llamar a las siguientes operaciones de forma asincrónica:

El marco biométrico de Windows asigna internamente la estructura WINBIO_ASYNC_RESULT . Por lo tanto, cuando lo use, llame a WinBioFree para liberar la memoria asignada y evitar pérdidas. Dado que esto también libera todas las estructuras de datos anidadas, no debe conservar una copia de los punteros devueltos en la estructura de WINBIO_ASYNC_RESULT . Si desea guardar los datos devueltos en una estructura anidada, realice una copia privada de esos datos antes de llamar a WinBioFree.

Windows 8, Windows Server 2012, Windows 8.1 y Windows Server 2012 R2: El marco biométrico de Windows solo admite lectores de huellas digitales. Por lo tanto, si se produce un error en una operación y devuelve información adicional en una constante WINBIO_REJECT_DETAIL , será uno de los siguientes valores:

  • 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

Además, si una operación usa un tipo de datos WINBIO_BIOMETRIC_SUBTYPE , será uno de los siguientes valores:

  • 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

Requisitos

Requisito Value
Cliente mínimo compatible Windows 8 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2012 [solo aplicaciones de escritorio]
Encabezado winbio.h

Consulte también

constantes de WINBIO_REJECT_DETAIL

WinBioAsyncOpenFramework

WinBioAsyncOpenSession