Função BluetoothAuthenticateDeviceEx (bluetoothapis.h)
A função BluetoothAuthenticateDeviceEx envia uma solicitação de autenticação para um dispositivo Bluetooth remoto. Além disso, essa função permite que dados fora de banda sejam passados para a chamada de função para o dispositivo que está sendo autenticado.
Sintaxe
DWORD BluetoothAuthenticateDeviceEx(
[in, optional] HWND hwndParentIn,
[in, optional] HANDLE hRadioIn,
[in, out] BLUETOOTH_DEVICE_INFO *pbtdiInout,
[in, optional] PBLUETOOTH_OOB_DATA_INFO pbtOobData,
[in] AUTHENTICATION_REQUIREMENTS authenticationRequirement
);
Parâmetros
[in, optional] hwndParentIn
A janela a ser pai do assistente de autenticação. Se FOR NULL, o assistente será pai da área de trabalho.
[in, optional] hRadioIn
Um identificador de rádio local válido ou NULL. Se FOR NULL, todos os rádios serão testados. Se qualquer um dos rádios tiver êxito, a chamada terá êxito.
[in, out] pbtdiInout
Um ponteiro para uma estrutura BLUETOOTH_DEVICE_INFO que descreve o dispositivo que está sendo autenticado.
[in, optional] pbtOobData
Ponteiro para dados fora de banda específicos do dispositivo a serem fornecidos com essa chamada à API. Se FOR NULL, uma interface do usuário será exibida para continuar o processo de autenticação. Se não for NULL, nenhuma interface do usuário será exibida.
[in] authenticationRequirement
Um valor BLUETOOTH_AUTHENTICATION_REQUIREMENTS que especifica a proteção necessária para autenticação.
Retornar valor
Retorna ERROR_SUCCESS após a conclusão bem-sucedida; retorna os seguintes códigos de erro após a falha:
Código de retorno | Descrição |
---|---|
|
O usuário anulou a operação. |
|
A estrutura do dispositivo especificada no pbdti é inválida. |
|
O dispositivo no pbtdi já foi marcado como autenticado. |
Comentários
A estrutura BLUETOOTH_DEVICE_INFO especificada por pbtdilInOut deve conter o endereço de um dispositivo para autenticação. Se o valor de pbtOobData não for NULL, será feita uma tentativa de autenticar o dispositivo remoto com os dados fora de banda fornecidos.
Para todos os outros tipos de autenticação, o chamador deve registrar um retorno de chamada de autenticação usando BluetoothRegisterForAuthenticationEx e, em seguida, responder ao método de autenticação relevante usando BluetoothSendAuthenticationResponseEx.
Exemplos
No código de exemplo a seguir, um dispositivo foi encontrado e uma solicitação de autenticação é enviada usando BluetoothAuthenticateDeviceEx.
PBLUETOOTH_DEVICE_INFO pDeviceInfo;
HRESULT status;
HANDLE hEvent = NULL;
HRESULT WINAPI AuthenticateService(){
status = BluetoothAuthenticateDeviceEx( NULL,
NULL,
pDeviceInfo,
NULL,
MITMProtectionNotRequired );
if ( ERROR_INVALID_PARAMETER == status ) {
// goto Cleanup;
// ...
// Take cleanup action here,
// ...
}
//
// Wait for the Authentication callback to return before trying to unregister the handle
// Use an infinite timeout since the handle to the function that sets the event is being
// deleted
//
if ( WAIT_FAILED == WaitForSingleObject(hEvent, INFINITE) ) {
status = GetLastError();
// goto Cleanup;
// ...
// Take cleanup action here,
// ...
}
return status;
}
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows XP com SP2 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Nenhum compatível |
Plataforma de Destino | Windows |
Cabeçalho | bluetoothapis.h (inclua Bthsdpdef.h, BluetoothAPIs.h) |
Biblioteca | Bthprops.lib |
DLL | bthprops.cpl |