estrutura WINBIO_ASYNC_RESULT (winbio.h)
A estrutura WINBIO_ASYNC_RESULT contém os resultados de uma operação assíncrona.
Sintaxe
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;
Membros
SessionHandle
Identificador de uma sessão assíncrona iniciada chamando a função WinBioAsyncOpenSession ou a função WinBioAsyncOpenFramework .
Operation
Tipo da operação assíncrona. Para obter mais informações, consulte Constantes WINBIO_OPERATION_TYPE.
SequenceNumber
Número de sequência da operação assíncrona. Os inteiros são atribuídos sequencialmente para cada operação em uma sessão biométrica, começando em um (1). Para qualquer sessão, a operação aberta sempre recebe o primeiro número de sequência e a operação de fechamento recebe o último número de sequência. Se o aplicativo enfileirar várias operações, você poderá usar números de sequência para executar o tratamento de erros. Por exemplo, você pode ignorar os resultados da operação até que um número de sequência específico seja enviado para o aplicativo.
TimeStamp
Data e hora do sistema em que a operação biométrica começou. Para obter mais informações, consulte a função GetSystemTimeAsFileTime .
ApiStatus
Código de erro retornado pela operação.
UnitId
O identificador de unidade numérica da unidade biométrica que executou a operação.
UserData
Endereço de um buffer opcional fornecido pelo chamador. O buffer não é modificado pela estrutura ou pela unidade biométrica. Seu aplicativo pode usar os dados para ajudá-lo a determinar quais ações executar após o recebimento do aviso de conclusão ou para manter informações adicionais sobre a operação solicitada.
Parameters
União que inclui estruturas aninhadas que contêm informações adicionais sobre o êxito ou falha de operações assíncronas iniciadas pelo aplicativo cliente.
Parameters.Verify
Contém os resultados de uma chamada assíncrona para WinBioVerify.
Parameters.Verify.Match
Especifica se o exemplo capturado correspondeu à identidade do usuário.
Parameters.Verify.RejectDetail
Informações adicionais sobre falha de verificação. Para obter mais informações, consulte Comentários.
Parameters.Identify
Contém os resultados de uma chamada assíncrona para WinBioIdentify.
Parameters.Identify.Identity
GUID ou SID do usuário que fornece o exemplo biométrico.
Parameters.Identify.SubFactor
Subfator associado à amostra biométrica. Para obter mais informações, consulte Comentários.
Parameters.Identify.RejectDetail
Informações adicionais sobre a falha, se houver, para capturar e identificar um exemplo biométrico. Para obter mais informações, consulte Comentários.
Parameters.EnrollBegin
Contém os resultados de uma chamada assíncrona para WinBioEnrollBegin.
Parameters.EnrollBegin.SubFactor
Informações adicionais sobre o registro. Para obter mais informações, consulte Comentários.
Parameters.EnrollCapture
Contém os resultados de uma chamada assíncrona para WinBioEnrollCapture.
Parameters.EnrollCapture.RejectDetail
Informações adicionais sobre a falha na captura de um exemplo biométrico. Para obter mais informações, consulte Comentários.
Parameters.EnrollCommit
Contém os resultados de uma chamada assíncrona para WinBioEnrollCommit.
Parameters.EnrollCommit.Identity
GUID ou SID do modelo a ser salvo.
Parameters.EnrollCommit.IsNewTemplate
Especifica se o modelo que está sendo adicionado ao banco de dados é novo.
Parameters.EnumEnrollments
Contém os resultados de uma chamada assíncrona para WinBioEnumEnrollments.
Parameters.EnumEnrollments.Identity
GUID ou SID do modelo do qual os subfators foram recuperados.
Parameters.EnumEnrollments.SubFactorCount
Número de elementos na matriz apontada pelo membro SubFactorArray .
Parameters.EnumEnrollments.SubFactorArray
Ponteiro para uma matriz de subfators. Para obter mais informações, consulte Comentários.
Parameters.CaptureSample
Contém os resultados de uma chamada assíncrona para WinBioCaptureSample.
Parameters.CaptureSample.Sample
Ponteiro para uma estrutura WINBIO_BIR que contém o exemplo.
Parameters.CaptureSample.SampleSize
Tamanho, em bytes, da estrutura WINBIO_BIR retornada no membro Sample .
Parameters.CaptureSample.RejectDetail
Informações adicionais sobre a falha na captura de um exemplo biométrico. Para obter mais informações, consulte Comentários.
Parameters.DeleteTemplate
Contém os resultados de uma chamada assíncrona para WinBioDeleteTemplate.
Parameters.DeleteTemplate.Identity
GUID ou SID do modelo que foi excluído.
Parameters.DeleteTemplate.SubFactor
Informações adicionais sobre o modelo.
Parameters.GetProperty
Contém os resultados de uma chamada assíncrona para WinBioGetProperty.
Parameters.GetProperty.PropertyType
Fonte das informações da propriedade. No momento, isso será WINBIO_PROPERTY_TYPE_UNIT.
Parameters.GetProperty.PropertyId
A propriedade que foi consultada. No momento, isso será WINBIO_PROPERTY_SAMPLE_HINT.
Parameters.GetProperty.Identity
Esse é um valor reservado e será NULL.
Parameters.GetProperty.SubFactor
Isso é reservado e será WINBIO_SUBTYPE_NO_INFORMATION.
Parameters.GetProperty.PropertyBufferSize
Tamanho, em bytes, do valor da propriedade apontado pelo membro PropertyBuffer .
Parameters.GetProperty.PropertyBuffer
Ponteiro para o valor da propriedade.
Parameters.SetProperty
Contém os resultados de uma chamada assíncrona para WinBioSetProperty. Esse membro tem suporte a partir de Windows 10.
SetProperty.PropretyBufferSize
O tamanho, em bytes, da estrutura à qual o parâmetro PropertyBuffer aponta.
Parameters.SetProperty.PropertyType
Um valor WINBIO_PROPERTY_TYPE que especifica o tipo da propriedade que foi definida. Atualmente, isso só pode ser WINBIO_PROPERTY_TYPE_ACCOUNT.
Parameters.SetProperty.PropertyId
Um valor WINBIO_PROPERTY_ID que especifica a propriedade que foi definida. Atualmente, esse valor só pode ser WINBIO_PROPERTY_ANTI_SPOOF_POLICY. Todas as outras propriedades são somente leitura.
Parameters.SetProperty.Identity
Uma estrutura WINBIO_IDENTITY que especifica a conta para a qual a propriedade foi definida.
Parameters.SetProperty.SubFactor
Reservado. Atualmente, esse valor sempre será WINBIO_SUBTYPE_NO_INFORMATION.
Parameters.SetProperty.PropertyBufferSize
Parameters.SetProperty.PropertyBuffer
Um ponteiro para uma estrutura que especifica o valor ao qual a propriedade foi definida. Para a propriedade WINBIO_PROPERTY_ANTI_SPOOF_POLICY , a estrutura é uma estrutura WINBIO_ANTI_SPOOF_POLICY .
Parameters.GetEvent
Contém status informações sobre o evento que foi gerado.
Parameters.GetEvent.Event
Contém informações de evento.
Parameters.ControlUnit
Contém os resultados de uma chamada assíncrona para WinBioControlUnit ou WinBioControlUnitPrivileged.
Parameters.ControlUnit.Component
O componente dentro da unidade biométrica que executou a operação.
Parameters.ControlUnit.ControlCode
Código definido pelo fornecedor reconhecido pela unidade biométrica especificada pelo parâmetro UnitId da função WinBioControlUnit ou WinBioControlUnitPrivileged e o adaptador especificado pelo parâmetro Component .
Parameters.ControlUnit.OperationStatus
Código de status definido pelo fornecedor que especifica o resultado da operação de controle.
Parameters.ControlUnit.SendBuffer
Ponteiro para um buffer que contém as informações de controle enviadas ao adaptador pelo componente. O formato e o conteúdo do buffer são definidos pelo fornecedor.
Parameters.ControlUnit.SendBufferSize
Tamanho, em bytes, do buffer especificado pelo membro SendBuffer .
Parameters.ControlUnit.ReceiveBuffer
Ponteiro para um buffer que recebe informações enviadas pelo adaptador especificado pelo membro component . O formato e o conteúdo do buffer são definidos pelo fornecedor.
Parameters.ControlUnit.ReceiveBufferSize
Tamanho, em bytes, do buffer especificado pelo membro ReceiveBuffer .
Parameters.ControlUnit.ReceiveDataSize
Tamanho, em bytes, dos dados gravados no buffer especificado pelo membro ReceiveBuffer .
Parameters.EnumServiceProviders
Contém os resultados de uma chamada assíncrona para WinBioEnumServiceProviders ou WinBioAsyncEnumServiceProviders.
Parameters.EnumServiceProviders.BspCount
O número de estruturas apontadas pelo membro BspSchemaArray .
Parameters.EnumServiceProviders.BspSchemaArray
Ponteiro para uma matriz de estruturas de WINBIO_BSP_SCHEMA que contêm informações sobre cada um dos provedores de serviços disponíveis.
Parameters.EnumBiometricUnits
Contém os resultados de uma chamada assíncrona para WinBioEnumBiometricUnits ou WinBioAsyncEnumBiometricUnits.
Parameters.EnumBiometricUnits.UnitCount
Número de estruturas apontadas pelo membro UnitSchemaArray .
Parameters.EnumBiometricUnits.UnitSchemaArray
Uma matriz de estruturas de WINBIO_UNIT_SCHEMA que contêm informações sobre cada unidade biométrica enumerada.
Parameters.EnumDatabases
Contém os resultados de uma chamada assíncrona para WinBioEnumDatabases ou WinBioAsyncEnumDatabases.
Parameters.EnumDatabases.StorageCount
Número de estruturas apontadas pelo membro StorageSchemaArray .
Parameters.EnumDatabases.StorageSchemaArray
Matriz de estruturas de WINBIO_STORAGE_SCHEMA que contêm informações sobre cada banco de dados.
Parameters.VerifyAndReleaseTicket
Reservado. Esse membro tem suporte a partir de Windows 10.
Parameters.VerifyAndReleaseTicket.Match
Reservado.
Parameters.VerifyAndReleaseTicket.RejectDetail
Reservado.
Parameters.VerifyAndReleaseTicket.Ticket
Reservado.
Parameters.IdentifyAndReleaseTicket
Reservado. Esse membro tem suporte a partir de Windows 10.
Parameters.IdentifyAndReleaseTicket.Identity
Reservado.
Parameters.IdentifyAndReleaseTicket.SubFactor
Reservado.
Parameters.IdentifyAndReleaseTicket.RejectDetail
Reservado.
Parameters.IdentifyAndReleaseTicket.Ticket
Reservado.
Parameters.EnrollSelect
Contém os resultados de uma chamada assíncrona para WinBioEnrollSelect. Esse membro tem suporte a partir de Windows 10.
Parameters.EnrollSelect.SelectorValue
Um valor que identifica aquele indivíduo que foi selecionado para registro.
Parameters.MonitorPresence
Contém os resultados de uma chamada assíncrona para WinBioMonitorPresence. Esse membro tem suporte a partir de Windows 10.
Parameters.MonitorPresence.ChangeType
Um valor WINBIO_PRESENCE_CHANGE que indica o tipo de evento que ocorreu.
Parameters.MonitorPresence.PresenceCount
O tamanho da matriz para a qual o membro MonitorPresence.PresenceArray aponta.
Parameters.MonitorPresence.PresenceArray
Endereço da matriz de estruturas WINBIO_PRESENCE , um para cada indivíduo monitorado.
Parameters.GetProtectionPolicy
Parameters.GetProtectionPolicy.Identity
Parameters.GetProtectionPolicy.Policy
Parameters.NotifyUnitStatusChange
Parameters.NotifyUnitStatusChange.ExtendedStatus
Comentários
As operações assíncronas são iniciadas abrindo uma sessão biométrica ou uma sessão de estrutura. Chame WinBioAsyncOpenSession para abrir uma sessão biométrica. Chame WinBioAsyncOpenFramework para abrir uma sessão de estrutura.
Você pode usar um identificador de sessão biométrica assíncrona para chamar qualquer uma das seguintes operações de forma assíncrona:
- WinBioCancel
- WinBioCaptureSample
- WinBioCloseSession
- WinBioControlUnit
- WinBioControlUnitPrivileged
- WinBioDeleteTemplate
- WinBioEnrollBegin
- WinBioEnrollCapture
- WinBioEnrollCommit
- WinBioEnrollDiscard
- WinBioEnumEnrollments
- WinBioGetProperty
- WinBioIdentify
- WinBioLocateSensor
- WinBioLockUnit
- WinBioLogonIdentifiedUser
- WinBioRegisterEventMonitor
- WinBioUnlockUnit
- WinBioUnregisterEventMonitor
- WinBioVerify
- WinBioWait
- WinBioSetProperty
- WinBioEnrollSelect
- WinBioMonitorPresence
Você pode usar um identificador de estrutura assíncrona para chamar as seguintes operações de forma assíncrona:
- WinBioAsyncEnumBiometricUnits
- WinBioAsyncEnumDatabases
- WinBioAsyncOpenFramework
- WinBioAsyncEnumServiceProviders
- WinBioAsyncMonitorFrameworkChanges
A estrutura WINBIO_ASYNC_RESULT é alocada internamente pela Estrutura Biométrica do Windows. Portanto, quando você terminar de usá-lo, chame WinBioFree para liberar a memória alocada e evitar vazamentos. Como isso também libera todas as estruturas de dados aninhadas, você não deve manter uma cópia de quaisquer ponteiros retornados na estrutura WINBIO_ASYNC_RESULT . Se você quiser salvar todos os dados retornados em uma estrutura aninhada, faça uma cópia privada desses dados antes de chamar WinBioFree.
Windows 8, Windows Server 2012, Windows 8.1 e Windows Server 2012 R2: a Estrutura Biométrica do Windows dá suporte apenas a leitores de impressão digital. Portanto, se uma operação falhar e retornar informações adicionais em uma constante WINBIO_REJECT_DETAIL , ela será um dos seguintes 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
Além disso, se uma operação usar um tipo de dados WINBIO_BIOMETRIC_SUBTYPE , será um dos seguintes 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 | Valor |
---|---|
Cliente mínimo com suporte | Windows 8 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2012 [somente aplicativos da área de trabalho] |
Cabeçalho | winbio.h |