Função WinBioControlUnit (winbio.h)
Permite que o chamador execute operações de controle definidas pelo fornecedor em uma unidade biométrica. A partir do Windows 10, build 1607, essa função está disponível para uso com uma imagem móvel. Essa função é fornecida para acesso a operações de fornecedor estendidas para as quais privilégios elevados não são necessários. Se os direitos de acesso forem necessários, chame a função WinBioControlUnitPrivileged .
Sintaxe
HRESULT WinBioControlUnit(
[in] WINBIO_SESSION_HANDLE SessionHandle,
[in] WINBIO_UNIT_ID UnitId,
[in] WINBIO_COMPONENT Component,
[in] ULONG ControlCode,
PUCHAR SendBuffer,
[in] SIZE_T SendBufferSize,
PUCHAR ReceiveBuffer,
[in] SIZE_T ReceiveBufferSize,
SIZE_T *ReceiveDataSize,
[out, optional] ULONG *OperationStatus
);
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íncrona chamando WinBioAsyncOpenSession.
[in] UnitId
Um valor WINBIO_UNIT_ID que identifica a unidade biométrica. Esse valor deve corresponder à ID de unidade usada anteriormente na função WinBioLockUnit .
[in] Component
Um valor WINBIO_COMPONENT que especifica o componente dentro da unidade biométrica que deve executar a operação. Esse pode ser um dos valores a seguir.
[in] ControlCode
Um código definido pelo fornecedor reconhecido pela unidade biométrica especificada pelo parâmetro UnitId e pelo adaptador especificado pelo parâmetro Component .
SendBuffer
Endereço do buffer que contém as informações de controle a serem enviadas ao adaptador especificado pelo parâmetro Component . O formato e o conteúdo do buffer são definidos pelo fornecedor.
[in] SendBufferSize
Tamanho, em bytes, do buffer especificado pelo parâmetro SendBuffer .
ReceiveBuffer
Endereço do buffer que recebe informações enviadas pelo adaptador especificado pelo parâmetro Component . O formato e o conteúdo do buffer são definidos pelo fornecedor.
[in] ReceiveBufferSize
Tamanho, em bytes, do buffer especificado pelo parâmetro ReceiveBuffer .
ReceiveDataSize
Ponteiro para um valor SIZE_T que contém o tamanho, em bytes, dos dados gravados no buffer especificado pelo parâmetro ReceiveBuffer .
[out, optional] OperationStatus
Ponteiro para um inteiro que contém um código de status definido pelo fornecedor que especifica o resultado da operação de controle.
Retornar valor
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 |
---|---|
|
O identificador de sessão não é válido. |
|
O valor especificado no parâmetro ControlCode não é reconhecido. |
|
Os parâmetros SendBuffer, ReceiveBuffer, ReceiveDataSize e OperationStatus não podem ser NULL. |
|
O valor especificado no parâmetro ControlCode não é reconhecido. |
|
A unidade biométrica especificada pelo parâmetro UnitId deve ser bloqueada antes que qualquer operação de controle possa ser executada. |
Comentários
Você deve chamar WinBioLockUnit antes de chamar WinBioControlUnit. A função WinBioLockUnit cria uma região bloqueada na qual as operações definidas pelo fornecedor podem ser executadas com segurança.
Os fornecedores que criam plug-ins devem decidir quais operações estendidas têm privilégios e quais estão disponíveis para todos os clientes. Para executar uma operação privilegiada, o aplicativo cliente deve chamar a função WinBioControlUnitPrivileged . A Estrutura Biométrica do Windows permite que somente os clientes que têm os direitos de acesso apropriados chamem WinBioControlUnitPrivileged.
Para usar WinBioControlUnit 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 usar WinBioControlUnit 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 da janela.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 7 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 R2 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | winbio.h (inclua Winbio.h) |
Biblioteca | Winbio.lib |
DLL | Winbio.dll |