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:

Você pode usar um identificador de estrutura assíncrona para chamar as seguintes operações de forma assíncrona:

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

Confira também

Constantes WINBIO_REJECT_DETAIL

WinBioAsyncOpenFramework

WinBioAsyncOpenSession