Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Viktigt!
Den här artikeln är avsedd för programmerare. Om du är kund med problem med installation av Bluetooth-enheter kan du läsa Para ihop en Bluetooth-enhet i Windows
Det finns två installationstyper för Bluetooth-profildrivrutiner:
- Installation på klientsidan för fjärrenheter där fjärrenheten annonserar sina tjänster och datorn ansluter till den. Exempel är: möss, tangentbord och skrivare.
- Installation på serversidan där datorn annonserar tjänster och fjärrenheter kan ansluta till datorn för att använda dessa tjänster. En leverantör kan till exempel skapa en installation på serversidan för att göra det möjligt för en mobil enhet att skriva ut till en skrivare som är ansluten till datorn.
Dessa två installationstyper kräver olika installationsprocedurer.
Installera en profildrivrutin på klientsidan
En användare som vill använda en Bluetooth-aktiverad enhet tar enheten inom datorns räckvidd och initierar en anslutning från datorn till fjärrenheten med hjälp av följande installationssekvens för en profildrivrutin på klientsidan.
- Välj Lägg till en Bluetooth-enhet på Kontrollpanelen för att hitta alla enheter inom datorns räckvidd.
- Välj den enhet som du vill parkoppla med.
- Parkoppla enheten med den lokala radion, vilket kanske inte alltid kräver ett PIN-utbyte.
- Den lokala radion utfärdar en SDP-förfrågan (Service Discovery Protocol) för att identifiera de tjänster som stöds på fjärrenheten.
- Guiden Hitta ny maskinvara söker efter lämpliga drivrutiner på den lokala hårddisken och i Windows Update.
- Om guiden Hitta ny maskinvara inte hittar någon lämplig drivrutin för enheten uppmanas användaren att infoga installationsmediet för profildrivrutinen som innehåller profildrivrutinens informationsfil för enhetsinstallation (INF-fil).
Installera en profildrivrutin på serversidan
Bluetooth-drivrutinsstacken stöder tjänst-GUID:er som definieras av Bluetooth SIG och anpassade GUID:er som inte definieras av Bluetooth SIG.
Anmärkning
Det guidgen.exe verktyg som medföljer Microsoft Windows SDK kan användas för att skapa anpassade GUID:er.
Ett installationsprogram i användarläge måste skrivas för att exponera datorfunktioner som bluetooth-fjärrenheter kan använda.
Installationsprogrammet måste kommunicera med Bluetooth-drivrutinsstacken för att skapa ett tjänst-GUID för att funktionerna ska exponeras. Leverantörer anger tjänstens GUID i programmet och i inf-filen för enhetsinstallationen.
Installationsprogrammet måste anropa API :et BluetoothSetLocalServiceInfo i användarläge. Innan programmet kan anropa det här API:et måste programmet ha SE_LOAD_DRIVER_NAME säkerhetsbehörighet. Följande kodexempel visar hur du hämtar den här behörigheten. Observera att exemplet inte visar felhantering.
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)
INF-fil för profildrivrutin
En profildrivrutins INF-fil innehåller information om en Bluetooth-enhet för installation på klientsidan. För en installation på serversidan anger INF-filen ett enhets-ID som motsvarar tjänstens GUID som skapats av installationsprogrammet. Alla Bluetooth-enheter är medlemmar i Bluetooth-klassen . Installationsprogrammet för Bluetooth-klassen (Bthci.dll) hjälper dig att installera profildrivrutiner.
Mer information om hur du skapar och distribuerar INF-filer och installerar drivrutiner finns i Skapa en INF-fil och INF-filavsnitt och -direktiv.
Plug and Play-ID
Bluetooth-drivrutinsstacken genererar maskinvaru-ID:t enligt följande mallar:
- BTHENUM\{ ServiceGUID}_VID& nnnnnnnn
- BTHENUM\{ ServiceGUID}_VID& nnnnnnnnn_PID& nnnn
- BTHENUM\{ ServiceGUID}_LOCALMFG& nnnn
Stacken för Bluetooth-drivrutinen genererar kompatibla ID:ar enligt följande mall:
- BTHENUM\{ ServiceGUID}
ServiceGUID är ett 16-bitars GUID som utökas till ett 128-bitars GUID, enligt definitionen i Bluetooth-specifikationen. Till exempel motsvarar {00001124-0000-1000-8000-00805F9B34FB} en HID-enhet.
- De åtta siffrorna efter VID& motsvarar leverantörs-ID-koden.
- De fyra siffrorna efter PID& motsvarar produkt-ID-koden.
- De fyra siffrorna efter LOCALMFG& motsvarar tillverkaren av den lokala Bluetooth-radion.
- VID/PID- och LOCALMFG-taggarna är oberoende av varandra.
Det mest generiska enhets-ID:t är en ServiceGUID på egen hand. Till exempel:
BTHENUM\{00001124-0000-1000-8000-00805F9B34FB}
Bluetooth-drivrutinsstacken kan begränsas till att läsa in din profildrivrutin och programvara för att endast köras på en specifik version av en fjärrenhet med hjälp av Plug and Play-ID:n i både fjärrenheten och INF-filen. Bluetooth-drivrutinsstacken genererar endast ett VID/PID-par om enheten publicerar ett Plug and Play-ID som stacken kan identifiera med hjälp av SDP. Till exempel:
BTHENUM\{00001124-0000-1000-8000-00805F9B34FB}_VID& nnnnnnnn_PID& nnnn
Bluetooth-drivrutinsstacken kan begränsas till att läsa in profildrivrutin och programvara för att endast köras på en specifik lokal Bluetooth-radio genom att ange LOCALMFG-taggen i enhets-ID:t i INF-filen. Till exempel:
BTHENUM\{00001124-0000-1000-8000-00805F9B34FB}_LOCALMFG& nnnn