Compartilhar via


Instalando um dispositivo Bluetooth

Importante

Este artigo é para programadores. Se você for um cliente com problemas de instalação de dispositivo Bluetooth, consulte Emparelhar um dispositivo Bluetooth no Windows

Há dois tipos de instalação para drivers de perfil Bluetooth:

  • Instalação do lado do cliente para dispositivos remotos em que o dispositivo remoto anuncia seus serviços e o computador se conecta a ele. Exemplos incluem: mouses, teclados e impressoras.
  • Instalação no lado do servidor, onde o computador anuncia serviços e dispositivos remotos podem se conectar ao computador para utilizar esses serviços. Por exemplo, um fornecedor pode criar uma instalação do lado do servidor para permitir que um dispositivo móvel imprima em uma impressora anexada ao computador.

Esses dois tipos de instalação exigem procedimentos de instalação diferentes.

Instalando um driver de perfil do lado do cliente

Um usuário que deseja usar um dispositivo habilitado para Bluetooth traz o dispositivo dentro do intervalo do computador e inicia uma conexão do computador com o dispositivo remoto usando a sequência de instalação a seguir para um driver de perfil do lado do cliente.

  1. Selecione Adicionar um dispositivo Bluetooth no Painel de Controle para localizar todos os dispositivos dentro do intervalo do computador.
  2. Selecione o dispositivo com o qual emparelhar.
  3. Emparelhe o dispositivo com o rádio local, que pode ou não envolver uma troca de PIN.
  4. A rádio local emite uma consulta SDP (Service Discovery Protocol) para identificar os serviços com suporte no dispositivo remoto.
  5. O Assistente de Novo Hardware Encontrado procura drivers apropriados na unidade de disco rígido local e no Windows Update.
  6. Se o Assistente de Novo Hardware Encontrado não encontrar um driver apropriado para o dispositivo, ele solicitará que o usuário insira a mídia de instalação do driver de perfil que contém o arquivo de informações de instalação do dispositivo do driver de perfil (arquivo INF).

Instalando um driver de perfil do lado do servidor

A pilha de drivers Bluetooth dá suporte a GUIDs de serviço, como definido pelo SIG Bluetooth, e GUIDs personalizados não definidos pelo SIG Bluetooth.

Observação

A ferramenta guidgen.exe fornecida com o SDK do Microsoft Windows pode ser usada para criar GUIDs personalizados.

Um aplicativo de instalação em modo de usuário deve ser escrito para expor funcionalidades do computador que possam ser usadas por dispositivos Bluetooth remotos.

O aplicativo de instalação deve se comunicar com a pilha de drivers do Bluetooth para criar um GUID de serviço para expor a funcionalidade. Os fornecedores especificam o GUID de serviço no aplicativo e no arquivo INF de instalação do dispositivo.

O aplicativo de instalação deve chamar a API do modo de usuário BluetoothSetLocalServiceInfo. Antes que o aplicativo possa chamar essa API, o aplicativo deve ter o privilégio de segurança SE_LOAD_DRIVER_NAME. O exemplo de código a seguir demonstra como obter esse privilégio. Observe que o exemplo não demonstra o tratamento de erros.

HANDLE procToken;
LUID luid;
TOKEN_PRIVILEGES tp;

OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &procToken);

LookupPrivilegeValue(NULL, SE_LOAD_DRIVER_NAME, &luid);

Tp.PrivilegeCount = 1;
Tp.privileges[0].Luid = luid;
Tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;

AdjustTokenPrivileges(procToken, FALSE, &tp, sizeof(TOKEN_PRIVILEGES), (PTOKEN_PRIVILEGES) NULL, (PDWORD)NULL)

Arquivo INF do driver de perfil

Um arquivo INF do driver de perfil contém informações sobre um dispositivo Bluetooth para instalação do lado do cliente. Para uma instalação do lado do servidor, o arquivo INF especifica uma ID do dispositivo que corresponde ao GUID de serviço criado pelo aplicativo de instalação. Todos os dispositivos Bluetooth são membros da classe Bluetooth . O instalador de classe Bluetooth (Bthci.dll) auxilia na instalação de drivers de perfil.

Para obter mais informações sobre como criar e distribuir arquivos INF e instalar drivers, consulte Criando um arquivo INF e seções e diretivas de arquivo INF.

Plug and Play IDs

A pilha de driver Bluetooth gera IDs de hardware de acordo com os seguintes modelos:

  • BTHENUM\{ ServiceGUID}_VID& nnnnnnnn
  • BTHENUM\{ ServiceGUID}_VID& nnnnnnnn_PID& nnnn
  • BTHENUM\{ ServiceGUID}_LOCALMFG& nnnn

A pilha de driver Bluetooth gera IDs compatíveis de acordo com o seguinte modelo:

  • BTHENUM\{ ServiceGUID}

ServiceGUID é um GUID de 16 bits expandido para um GUID de 128 bits, conforme definido pela especificação bluetooth. Por exemplo, {00001124-0000-1000-8000-00805F9B34FB} corresponde a um dispositivo HID.

  • Os oito dígitos seguintes à VID correspondem ao código de ID do fornecedor.
  • Os quatro dígitos seguintes ao PID correspondem ao código da ID do produto.
  • Os quatro dígitos seguintes a LOCALMFG correspondem ao fabricante do rádio Bluetooth local.
  • As etiquetas VID/PID e LOCALMFG são independentes entre si.

A ID de dispositivo mais genérica é um ServiceGUID por si só. Por exemplo:

BTHENUM\{00001124-0000-1000-8000-00805F9B34FB}

A pilha de drivers Bluetooth pode ser configurada para carregar apenas seu driver de perfil e software em uma versão específica de um dispositivo remoto, utilizando os IDs Plug and Play tanto no dispositivo remoto quanto no arquivo INF. A pilha de drivers Bluetooth gera um par VID/PID somente se o dispositivo publicar um ID Plug and Play que a pilha possa detectar usando SDP. Por exemplo:

BTHENUM\{00001124-0000-1000-8000-00805F9B34FB}_VID& nnnnnnnn_PID& nnnn

A pilha de driver Bluetooth pode ser restrita para carregar drivers de perfil e software para executar somente em um rádio Bluetooth local específico, especificando a tag LOCALMFG na ID do dispositivo no arquivo INF. Por exemplo:

BTHENUM\{00001124-0000-1000-8000-00805F9B34FB}_LOCALMFG& nnnn