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:
- WinBioCancel
- WinBioCaptureSample
- WinBioCloseSession
- WinBioControlUnit
- WinBioControlUnitPrivileged
- WinBioDeleteTemplate
- WinBioEnrollBegin
- WinBioEnrollCapture
- WinBioEnrollCommit
- WinBioEnrollDiscard
- WinBioEnumEnrollments
- WinBioGetProperty
- WinBioIdentify
- WinBioLocateSensor
- WinBioLockUnit
- WinBioLogonIdentifiedUser
- WinBioRegisterEventMonitor
- WinBioUnlockUnit
- WinBioUnregisterEventMonitor
- WinBioVerify
- WinBioWait
- WinBioSetProperty
- WinBioEnrollSelect
- WinBioMonitorPresence
Puede usar un identificador de marco asincrónico para llamar a las siguientes operaciones de forma asincrónica:
- WinBioAsyncEnumBiometricUnits
- WinBioAsyncEnumDatabases
- WinBioAsyncOpenFramework
- WinBioAsyncEnumServiceProviders
- WinBioAsyncMonitorFrameworkChanges
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 |