Função BluetoothAuthenticateDevice (bluetoothapis.h)
A função BluetoothAuthenticateDevice envia uma solicitação de autenticação para um dispositivo Bluetooth remoto.
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 |
---|---|
|
O usuário cancelou a operação. |
|
A estrutura do dispositivo no parâmetro pbtdi não é válida. |
|
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
BluetoothAuthenticateMultipleDevices
BluetoothEnableIncomingConnections
BluetoothRegisterForAuthentication