Compartilhar via


Estrutura WINBIO_PRESENCE

Contém informações sobre a presença de um indivíduo cuja presença está sendo monitorada.

Sintaxe

typedef struct _WINBIO_PRESENCE {
  WINBIO_BIOMETRIC_TYPE      Factor;
  WINBIO_BIOMETRIC_SUBTYPE   SubFactor;
  HRESULT                    Status;
  WINBIO_REJECT_DETAIL       RejectDetail;
  WINBIO_IDENTITY            Identity;
  ULONGLONG                  TrackingId;
  WINBIO_PROTECTION_TICKET   Ticket;
  WINBIO_PRESENCE_PROPERTIES Properties;
} WINBIO_PRESENCE, *PWINBIO_PRESENCE;

Membros

Fator

O fator biométrico usado para monitorar a presença do indivíduo.

SubFactor

O qualificador do subfator biométrico para o fator biométrico usado para monitorar a presença do indivíduo.

Status

O status do procedimento de identificação para o indivíduo.

RejectDetail

Informações adicionais sobre a falha para reconhecer um indivíduo, incluindo comentários que explicam como corrigir a falha.

Identidade

A identidade do indivíduo cuja presença está sendo monitorada, desde que esse indivíduo tenha sido identificado.

TrackingId

Um inteiro que é gerado pelo adaptador e identifica o indivíduo exclusivamente. O identificador de acompanhamento que o adaptador atribui a um indivíduo específico tem a garantia de ser constante, desde que essa pessoa permaneça enquadrada na câmera.

Ticket

Reservado. Definido como 0 pelo adaptador.

Propriedades

Informações específicas do fator sobre a posição de um indivíduo.

Comentários

A função EngineAdapterIdentifyAll cria uma matriz de estruturas WINBIO_PRESENCE e envia essa matriz para o serviço biométrico. O serviço biométrico usa a matriz para atualizar seu modelo interno de humanos próximos ao computador.

Dependendo dos resultados dessa atualização, o serviço biométrico pode gerar uma estrutura WINBIO_ASYNC_RESULT para a função WinBioMonitorPresence para todos os clientes com monitores de presença ativos. O membro WINBIO_ASYNC_RESULT.Operation da estrutura contém WINBIO_OPERATION_MONITOR_PRESENCE, e o membro WINBIO_ASYNC_RESULT.Parameters.MonitorPresence.ChangeType fornece informações adicionais sobre o estado do indivíduo.

Quando um indivíduo que o adaptador do mecanismo associa a um identificador de acompanhamento específico aparecer no fluxo de entrada pela primeira vez, o serviço biométrico gera uma estrutura WINBIO_ASYNC_RESULT do lado do cliente em que o membro WINBIO_ASYNC_RESULT.Parameters.MonitorPresence.ChangeType é WINBIO_CHANGE_TYPE_ARRIVAL. Essa estrutura é enviada para a função de retorno de chamada do aplicativo ou para a fila de mensagens do aplicativo antes de qualquer outra estrutura WINBIO_ASYNC_RESULT em que WINBIO_ASYNC_RESULT.Parameters.MonitorPresence.PresenceArray inclui uma estrutura WINBIO_PRESENCE com o mesmo valor de WINBIO_PRESENCE.TrackingId.

As combinações de valores a seguir na matriz de estruturas WINBIO_PRESENCE do membro WINBIO_ASYNC_RESULT.Parameters.MonitorPresence.PresenceArray indica tipos específicos de alterações no estado de um indivíduo.

  • Quando um indivíduo está visível no quadro da câmera, mas o mecanismo ainda está tentando identificar o indivíduo, os membros da estrutura WINBIO_PRESENCE têm os valores da tabela a seguir.

    Membro Valor
    TrackingId Um inteiro que identifica o indivíduo para o mecanismo.
    Status S_OK
    Identity.Type WINBIO_ID_TYPE_NULL

    Nesse caso, o serviço biométrico estende o tempo de expiração para o indivíduo e não gera uma estrutura WINBIO_ASYNC_RESULT do lado do cliente para o identificador de rastreamento em que o membro WINBIO_ASYNC_RESULT.Parameters.MonitorPresence.ChangeType é WINBIO_CHANGE_TYPE_RECOGNIZE.

    Na primeira vez que a estrutura WINBIO_ASYNC_RESULT incluir a estrutura WINBIO_PRESENCE, em que o membro Status é S_OK e o membro Identity.Type é WINBIO_ID_TYPE_NULL após uma ou mais estruturas WINBIO_ASYNC_RESULT tiverem incluído a estrutura WINBIO_PRESENCE com um membro Status de WINBIO_E_BAD_CAPTURE, o monitor de presença gera uma única estrutura WINBIO_ASYNC_RESULT para o identificador de rastreamento em que o membro WINBIO_ASYNC_RESULT.Parameters.MonitorPresence.ChangeType é WINBIO_CHANGE_TYPE_TRACK. Essa estrutura WINBIO_ASYNC_RESULT em que o membro WINBIO_ASYNC_RESULT.Parameters.MonitorPresence.ChangeType é WINBIO_CHANGE_TYPE_TRACK informa ao cliente que o problema que causou o erro WINBIO_E_BAD_CAPTURE foi resolvido. Para obter mais informações sobre as circunstâncias em que uma estrutura WINBIO_PRESENCE tem o membro Status de WINBIO_E_BAD_CAPTURE, consulte a descrição sobre como o adaptador do mecanismo fornece comentários ao usuário para corrigir falhas de reconhecimento posteriormente nesses Comentários.

  • Quando um indivíduo está visível no quadro da câmera, mas o mecanismo ainda está tentando identificá-lo e deseja fornecer comentários ao usuário sobre como corrigir uma falha de reconhecimento, os membros da estrutura WINBIO_PRESENCE têm os valores da tabela a seguir.

    Membro Valor
    TrackingId Um inteiro que identifica o indivíduo para o mecanismo.
    Status WINBIO_E_BAD_CAPTURE
    Identity.Type WINBIO_ID_TYPE_NULL
    Properties.FacialFeatures.BoundingBox, se o valor do Factor for WINBIO_TYPE_FACIAL_FEATURES O local da face do indivíduo dentro do quadro da câmera.
    Properties.Iris.BoundingBox, se o valor Factor for WINBIO_TYPE_IRIS O local da(s) íris do indivíduo dentro do quadro da câmera.

    Nesse caso, o serviço biométrico estende o tempo de expiração para o indivíduo e gera uma estrutura WINBIO_ASYNC_RESULT para o identificador de rastreamento em que o membro WINBIO_ASYNC_RESULT.Parameters.MonitorPresence.ChangeType é WINBIO_CHANGE_TYPE_TRACK.

  • Quando um indivíduo está visível no quadro da câmera e o adaptador do mecanismo determina a identidade dele, os membros da estrutura WINBIO_PRESENCE têm os valores da tabela a seguir.

    Membro Valor
    TrackingId Um inteiro que identifica o indivíduo para o mecanismo.
    Status S_OK
    Identity.Type WINBIO_ID_TYPE_SID
    Identity.Value.AccountSid O SID (identificador de segurança) do indivíduo.

    Nesse caso, o serviço biométrico associa o identificador de rastreamento ao SID do indivíduo e gera uma estrutura WINBIO_ASYNC_RESULT do lado do cliente para o identificador de rastreamento em que o membro WINBIO_ASYNC_RESULT.Parameters.MonitorPresence.ChangeType é WINBIO_CHANGE_TYPE_RECOGNIZE. O serviço biométrico não gera estruturas WINBIO_ASYNC_RESULT adicionais do lado do cliente para o identificador de rastreamento, a menos que o indivíduo saia do quadro da câmera.

  • Quando um indivíduo está visível no quadro da câmera, mas o adaptador do mecanismo determina com certeza que ele não está registrado, os membros da estrutura WINBIO_PRESENCE têm os valores da tabela a seguir.

    Membro Valor
    TrackingId Um inteiro que identifica o indivíduo para o mecanismo.
    Status WINBIO_E_UNKNOWN_ID
    Identity.Type WINBIO_ID_TYPE_NULL

    Nesse caso, o serviço biométrico associa o identificador de rastreamento do indivíduo a uma identidade de UNKNOWN e gera uma estrutura WINBIO_ASYNC_RESULT do lado do cliente para o identificador de rastreamento em que o membro WINBIO_ASYNC_RESULT.Parameters.MonitorPresence.ChangeType é WINBIO_CHANGE_TYPE_RECOGNIZE. O serviço biométrico não gera estruturas WINBIO_ASYNC_RESULT adicionais do lado do cliente para o identificador de rastreamento, a menos que o indivíduo saia do quadro da câmera.

Quando um indivíduo que o adaptador do mecanismo associa a um identificador de rastreamento específico sai do quadro da câmera e para de aparecer nos valores retornados pela função EngineAdapterIdentifyAll, o identificador de rastreamento acaba expirando em algum momento. Quando o identificador de rastreamento expirar, o serviço biométrico gerará uma estrutura WINBIO_ASYNC_RESULT do lado do cliente em que o membro WINBIO_ASYNC_RESULT.Parameters.MonitorPresence.ChangeType é WINBIO_CHANGE_TYPE_DEPART. O adaptador de mecanismo pode impedir que o serviço biométrico gere essa estrutura com o valor WINBIO_CHANGE_TYPE_DEPART ao incluir uma estrutura WINBIO_PRESENCE na matriz que EngineAdapterIdentifyAll retorna, em que o membro WINBIO_PRESENCE.Status é S_OK e o membro WINBIO_PRESENCE.Identity.Type é WINBIO_ID_TYPE_NULL, conforme descrito anteriormente nestes Comentários. Essa ação estende o tempo de expiração para o identificador de rastreamento sem gerar nenhuma atividade do lado do cliente.

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows 10 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte
Windows Server 2016 [somente aplicativos da área de trabalho]
Cabeçalho
Winbio_types.h (inclua Winbio.h para aplicativos do cliente ou Winbio_adapters.h para adaptadores)

Confira também

WINBIO_ASYNC_RESULT

WinBioMonitorPresence

EngineAdapterIdentifyAll