Compartilhar via


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.

Nota Essa API tem suporte no Windows Vista SP2 e Windows 7.
 

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.

Nota Se um retorno de chamada for registrado usando BluetoothRegisterForAuthenticationEx, uma interface do usuário não 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
ERROR_CANCELLED
O usuário anulou a operação.
ERROR_INVALID_PARAMETER
A estrutura do dispositivo especificada no pbdti é inválida.
ERROR_NO_MORE_ITEMS
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

Confira também

BluetoothAuthenticateDevice