Compartilhar via


Função BluetoothAuthenticateDevice (bluetoothapis.h)

A função BluetoothAuthenticateDevice envia uma solicitação de autenticação para um dispositivo Bluetooth remoto.

Nota Ao desenvolver para Windows Vista SP2 e Windows 7, o uso de BluetoothAuthenticateDeviceEx é recomendado.
 

Sintaxe

DWORD BluetoothAuthenticateDevice(
  HWND                  hwndParent,
  HANDLE                hRadio,
  BLUETOOTH_DEVICE_INFO *pbtbi,
  PWSTR                 pszPasskey,
  ULONG                 ulPasskeyLength
);

Parâmetros

hwndParent

Uma janela para ser o pai do assistente de autenticação. Se definido como NULL, o assistente será removido da área de trabalho.

hRadio

Um identificador de rádio local válido ou NULL. Se FOR NULL, a autenticação será tentada em todas as rádios locais; se qualquer rádio for bem-sucedido, a chamada de função terá êxito.

pbtbi

Uma estrutura do tipo BLUETOOTH_DEVICE_INFO que contém o registro do dispositivo Bluetooth a ser autenticado.

pszPasskey

Um PIN (Número de Identificação Pessoal) a ser usado para autenticação de dispositivo. Se definido como NULL, a interface do usuário será exibida e o usuário deverá seguir o processo de autenticação fornecido na interface do usuário. Se pszPasskey não for NULL, nenhuma interface do usuário será exibida. Se a chave de acesso não for NULL, ela deverá ser uma cadeia de caracteres terminada em NULL. Para obter mais informações, consulte a seção Comentários.

ulPasskeyLength

O tamanho, em caracteres, de pszPasskey. O tamanho de pszPasskey deve ser menor ou igual a BLUETOOTH_MAX_PASSKEY_SIZE.

Retornar valor

Retorna ERROR_SUCCESS após a conclusão bem-sucedida.

Erros comuns são listados na tabela a seguir.

Código de retorno Descrição
ERROR_CANCELLED
O usuário cancelou a operação.
ERROR_INVALID_PARAMETER
A estrutura do dispositivo no parâmetro pbtdi não é válida.
ERROR_NO_MORE_ITEMS
O dispositivo apontado por pbtdi já está marcado como autenticado.

Comentários

Alguns dispositivos Bluetooth remotos só podem aceitar chaves de acesso numéricas. Não há como identificar quais dispositivos aceitam apenas chaves de acesso numéricas com antecedência.

O processo de autenticação Bluetooth tem dois modos: modo assistente e modo transparente.

O modo de assistente é iniciado quando pszPasskey é definido como NULL e o Assistente de Conexão Bluetooth é iniciado. O usuário é solicitado a inserir uma chave de acesso como uma etapa no assistente, após a qual a solicitação de autenticação é enviada. A interface do usuário exibe se a tentativa de autenticação é bem-sucedida ou falha e fornece ao usuário a oportunidade de tentar novamente uma autenticação com falha.

O modo transparente é iniciado quando pszPasskey não é NULL. No modo Transparente, a solicitação de autenticação é enviada para o dispositivo Bluetooth remoto sem exibir nenhuma interface do usuário. No modo Transparente, o código de status Bluetooth é mapeado para um código de erro Win32; a tabela a seguir lista essas informações de mapeamento.

Código de status Bluetooth Código de erro do Win32
BTH_ERROR_SUCCESS ERROR_SUCCESS
BTH_ERROR_NO_CONNECTION ERROR_DEVICE_NOT_CONNECTED
BTH_ERROR_PAGE_TIMEOUT WAIT_TIMEOUT
BTH_ERROR_HARDWARE_FAILURE ERROR_GEN_FAILURE
BTH_ERROR_AUTHENTICATION_FAILURE ERROR_NOT_AUTHENTICATED
BTH_ERROR_MEMORY_FULL ERROR_NOT_ENOUGH_MEMORY
BTH_ERROR_CONNECTION_TIMEOUT WAIT_TIMEOUT
BTH_ERROR_LMP_RESPONSE_TIMEOUT WAIT_TIMEOUT
BTH_ERROR_MAX_NUMBER_OF_CONNECTIONS ERROR_REQ_NOT_ACCEP
BTH_ERROR_PAIRING_NOT_ALLOWED ERROR_ACCESS_DENIED
BTH_ERROR_UNSPECIFIED_ERROR ERROR_NOT_READY
BTH_ERROR_LOCAL_HOST_TERMINATED_CONNECTION ERROR_VC_DISCONNECTED

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista, 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

BLUETOOTH_DEVICE_INFO

BluetoothAuthenticateDeviceEx

BluetoothAuthenticateMultipleDevices

BluetoothEnableDiscovery

BluetoothEnableIncomingConnections

BluetoothIsConnectable

BluetoothIsDiscoverable

BluetoothRegisterForAuthentication

BluetoothSendAuthenticationResponse

BluetoothUnregisterAuthentication