Função WinBioSetProperty (winbio.h)

Define o valor de uma propriedade padrão associada a uma sessão biométrica, unidade, modelo ou conta. A partir do Windows 10, build 1607, essa função está disponível para uso com uma imagem móvel.

Sintaxe

HRESULT WinBioSetProperty(
  [in]           WINBIO_SESSION_HANDLE    SessionHandle,
  [in]           WINBIO_PROPERTY_TYPE     PropertyType,
  [in]           WINBIO_PROPERTY_ID       PropertyId,
  [in, optional] WINBIO_UNIT_ID           UnitId,
  [in, optional] WINBIO_IDENTITY          *Identity,
  [in, optional] WINBIO_BIOMETRIC_SUBTYPE SubFactor,
  [in]           PVOID                    PropertyBuffer,
  [in]           SIZE_T                   PropertyBufferSize
);

Parâmetros

[in] SessionHandle

Um valor WINBIO_SESSION_HANDLE que identifica uma sessão biométrica aberta. Abra um identificador de sessão síncrona chamando WinBioOpenSession. Abra um identificador de sessão assíncrono chamando WinBioAsyncOpenSession.

[in] PropertyType

Um valor WINBIO_PROPERTY_TYPE que especifica o tipo da propriedade que você deseja definir. No momento, isso deve ser WINBIO_PROPERTY_TYPE_ACCOUNT.

[in] PropertyId

Um valor WINBIO_PROPERTY_ID que especifica a propriedade a ser definida. No momento, isso deve ser WINBIO_PROPERTY_ANTI_SPOOF_POLICY. Todas as outras propriedades são somente leitura.

[in, optional] UnitId

Um valor WINBIO_UNIT_ID que identifica a unidade biométrica. Para a propriedade WINBIO_PROPERTY_ANTI_SPOOF_POLICY , esse valor deve ser 0.

[in, optional] Identity

Endereço de uma estrutura WINBIO_IDENTITY que especifica a conta para a qual você deseja definir a propriedade.

[in, optional] SubFactor

Reservado. Isso deve ser WINBIO_SUBTYPE_NO_INFORMATION.

[in] PropertyBuffer

Um ponteiro para uma estrutura que especifica o novo valor para a propriedade . Esse valor não pode ser NULL. Para definir a propriedade WINBIO_PROPERTY_ANTI_SPOOF_POLICY , a estrutura deve ser uma estrutura WINBIO_ANTI_SPOOF_POLICY .

[in] PropertyBufferSize

O tamanho, em bytes, da estrutura à qual o parâmetro PropertyBuffer aponta. Esse valor não pode ser 0.

Valor retornado

Se a função for bem-sucedida, ela retornará S_OK. Se a função falhar, ela retornará um valor HRESULT que indica o erro. Os possíveis valores incluem, mas sem limitação, aqueles na tabela a seguir. Para obter uma lista de códigos de erro comuns, consulte Valores HRESULT comuns.

Código de retorno Descrição
E_HANDLE
O identificador de sessão especificado pelo parâmetro SessionHandle não é válido.
E_POINTER
Os parâmetros Identity e PropertyBuffer não podem ser NULL.
E_INVALIDARG
O parâmetro PropertyType, PropertyId ou PropertyBufferSize não pode ser 0.
WINBIO_E_INVALID_PROPERTY_TYPE
O valor do argumento PropertyType está incorreto.
WINBIO_E_INVALID_PROPERTY_ID
O valor do argumento PropertyId está incorreto.
WINBIO_E_LOCK_VIOLATION
O chamador tentou definir uma propriedade que reside dentro de uma região bloqueada.
WINBIO_E_UNSUPPORTED_PROPERTY
O objeto não dá suporte à propriedade especificada.
WINBIO_E_ENROLLMENT_IN_PROGRESS
A operação não pôde ser concluída porque a unidade biométrica especificada está sendo usada atualmente para uma transação de registro (somente pool do sistema).

Comentários

Para usar WinBioSetProperty de forma síncrona, chame a função com um identificador de sessão criado chamando WinBioOpenSession. A função é bloqueada até que a operação seja concluída ou um erro seja encontrado. Para evitar vazamentos de memória, você deve chamar WinBioFree para liberar a memória apontada pelo parâmetro PropertyBuffer quando terminar de usar os dados contidos no buffer.

Para usar WinBioSetProperty de forma assíncrona, chame a função com um identificador de sessão criado chamando WinBioAsyncOpenSession. A estrutura aloca uma estrutura WINBIO_ASYNC_RESULT e a usa para retornar informações sobre êxito ou falha da operação. A estrutura WINBIO_ASYNC_RESULT é retornada para o retorno de chamada do aplicativo ou para a fila de mensagens do aplicativo, dependendo do valor definido no parâmetro NotificationMethod da função WinBioAsyncOpenSession :

  • Se você optar por receber avisos de conclusão usando um retorno de chamada, deverá implementar uma função PWINBIO_ASYNC_COMPLETION_CALLBACK e definir o parâmetro NotificationMethod como WINBIO_ASYNC_NOTIFY_CALLBACK.
  • Se você optar por receber avisos de conclusão usando a fila de mensagens do aplicativo, deverá definir o parâmetro NotificationMethod como WINBIO_ASYNC_NOTIFY_MESSAGE. A estrutura retorna um ponteiro WINBIO_ASYNC_RESULT para o campo LPARAM da mensagem de janela.
Para evitar vazamentos de memória, você deve chamar WinBioFree para liberar a estrutura WINBIO_ASYNC_RESULT depois de terminar de usá-la.

Requisitos

   
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]
Plataforma de Destino Windows
Cabeçalho winbio.h
Biblioteca Winbio.lib
DLL Winbio.dll

Confira também

WinBioFree

WinBioGetProperty