Condividi tramite


Installazione di un dispositivo Bluetooth

Importante

Questo argomento è destinato ai programmatori. Se si è un cliente che riscontra problemi di installazione del dispositivo Bluetooth, vedere Associare un dispositivo Bluetooth in Windows

Esistono due tipi di installazione per i driver del profilo Bluetooth:

  • Installazione lato client per dispositivi remoti in cui il dispositivo remoto annuncia i servizi e il computer si connette. Tra gli esempi sono inclusi mouse, tastiere e stampanti.
  • Installazione lato server in cui il computer annuncia servizi e dispositivi remoti può connettersi al computer per usare tali servizi. Ad esempio, un fornitore potrebbe creare un'installazione lato server per consentire a un dispositivo mobile di stampare su una stampante collegata al computer.

Questi due tipi di installazione richiedono procedure di installazione diverse.

Installazione di un driver del profilo lato client

Un utente che vuole usare un dispositivo abilitato per Bluetooth porta il dispositivo all'interno dell'intervallo del computer e avvia una connessione dal computer al dispositivo remoto usando la sequenza di installazione seguente per un driver del profilo lato client.

  1. Selezionare Aggiungi un dispositivo Bluetooth in Pannello di controllo per trovare tutti i dispositivi compresi nell'intervallo del computer.
  2. Selezionare il dispositivo da associare.
  3. Associare il dispositivo alla radio locale, che potrebbe o meno comportare uno scambio di PIN.
  4. La radio locale invia una richiesta SDP per identificare i servizi supportati nel dispositivo remoto.
  5. La Creazione guidata nuovo hardware trovato cerca i driver appropriati nell'unità disco rigido locale e in Windows Update.
  6. Se la Creazione guidata nuovo hardware trovato non trova un driver appropriato per il dispositivo, chiede all'utente di inserire il supporto di installazione del driver di profilo che contiene il file di informazioni sull'installazione del dispositivo del driver del profilo (file INF).

Installazione di un driver del profilo lato server

Lo stack di driver Bluetooth supporta i GUID del servizio come definito dal sig Bluetooth e i GUID personalizzati non definiti dal sig Bluetooth.

Nota

Lo strumento guidgen.exe fornito con Microsoft Windows SDK può essere usato per creare GUID personalizzati.

È necessario scrivere un'applicazione di installazione in modalità utente per esporre le funzionalità del computer che i dispositivi Bluetooth remoti possono usare.

L'applicazione di installazione deve comunicare con lo stack di driver Bluetooth per creare un GUID del servizio per la funzionalità da esporre. I fornitori specificano il GUID del servizio nell'applicazione e nel file INF di installazione del dispositivo.

L'applicazione di installazione deve chiamare l'API in modalità utente BluetoothSetLocalServiceInfo. Prima che l'applicazione possa chiamare questa API, l'applicazione deve avere il privilegio di sicurezza SE_LOAD_DRIVER_NAME. Nell'esempio di codice seguente viene illustrato come ottenere questo privilegio. Si noti che l'esempio non dimostra la gestione degli errori.

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)

File INF del driver di profilo

Il file INF di un driver di profilo contiene informazioni su un dispositivo Bluetooth per l'installazione sul lato client. Per un'installazione lato server, il file INF specifica un ID dispositivo che corrisponde al GUID del servizio creato dall'applicazione di installazione. Tutti i dispositivi Bluetooth sono membri della classe Bluetooth . Il programma di installazione della classe Bluetooth (Bthci.dll) consente di installare i driver del profilo.

Per altre informazioni sulla creazione e la distribuzione di file INF e sull'installazione di driver, vedere Creazione di sezioni e direttive di file INF INF.

ID plug and play

Lo stack di driver Bluetooth genera ID hardware in base ai modelli seguenti:

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

Lo stack di driver Bluetooth genera ID compatibili in base al modello seguente:

  • BTHENUM\{ ServiceGUID}

ServiceGUID è un GUID a 16 bit espanso in un GUID a 128 bit, come definito dalla specifica Bluetooth. Ad esempio, {00001124-0000-1000-8000-00805F9B34FB} corrisponde a un dispositivo HID.

  • Le otto cifre seguenti viD& corrispondono al codice ID fornitore.
  • Le quattro cifre seguenti di PID& corrispondono al codice ID prodotto.
  • Le quattro cifre seguenti LOCALMFG& corrispondono al produttore della radio Bluetooth locale.
  • I tag VID/PID e LOCALMFG sono indipendenti l'uno dall'altro.

L'ID dispositivo più generico è un ServiceGUID da solo. Ad esempio:

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

Lo stack di driver Bluetooth può essere limitato al caricamento del driver del profilo e del software per l'esecuzione solo in una versione specifica di un dispositivo remoto usando GLI ID Plug and Play nel dispositivo remoto e nel file INF. Lo stack di driver Bluetooth genera una coppia VID/PID solo se il dispositivo pubblica un ID Plug and Play che lo stack può rilevare tramite SDP. Ad esempio:

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

Lo stack di driver Bluetooth può essere limitato al driver del profilo di caricamento e al software per l'esecuzione solo su una specifica radio Bluetooth locale specificando il tag LOCALMFG nell'ID dispositivo nel file INF. Ad esempio:

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