Freigeben über


Installieren eines Bluetooth-Geräts

Von Bedeutung

Dieser Artikel richtet sich an Programmierer. Wenn Sie als Kunde Probleme bei der Installation von Bluetooth-Geräten haben, lesen Sie "Koppeln eines Bluetooth-Geräts in Windows".

Es gibt zwei Installationstypen für Bluetooth-Profiltreiber:

  • Clientseitige Installation für Remotegeräte, bei denen das Remotegerät seine Dienste anbietet und der Computer sich damit verbindet. Beispiele sind: Mäuse, Tastaturen und Drucker.
  • Serverseitige Installation , bei der der Computer Dienste ankündigen und Remotegeräte eine Verbindung mit dem Computer herstellen können, um diese Dienste zu verwenden. Beispielsweise könnte ein Anbieter eine serverseitige Installation erstellen, um einem mobilen Gerät das Drucken auf einem an den Computer angeschlossenen Drucker zu ermöglichen.

Für diese beiden Installationstypen sind unterschiedliche Installationsverfahren erforderlich.

Installieren eines clientseitigen Profiltreibers

Ein Benutzer, der ein Bluetooth-fähiges Gerät verwenden möchte, bringt das Gerät innerhalb des Bereichs des Computers und initiiert eine Verbindung vom Computer zum Remotegerät mithilfe der folgenden Installationssequenz für einen clientseitigen Profiltreiber.

  1. Wählen Sie "Bluetooth-Gerät hinzufügen " in der Systemsteuerung aus, um alle Geräte innerhalb des Bereichs des Computers zu finden.
  2. Wählen Sie das Gerät aus, mit dem sie gekoppelt werden soll.
  3. Koppeln Sie das Gerät mit dem lokalen Radio, das möglicherweise einen PIN-Austausch erfordert.
  4. Das lokale Radio gibt eine SDP-Anfrage (Service Discovery Protocol) aus, um die auf dem Remotegerät unterstützten Dienste zu identifizieren.
  5. Der Assistent "Neue Hardware gefunden" sucht nach geeigneten Treibern auf der lokalen Festplatte und unter Windows Update.
  6. Wenn der Assistent für die gefundene neue Hardware keinen geeigneten Treiber für das Gerät findet, fordert er den Benutzer auf, das Profiltreiberinstallationsmedium einzufügen, das die Geräteeinrichtungsinformationsdatei des Profiltreibers (INF-Datei) enthält.

Installieren eines serverseitigen Profiltreibers

Der Bluetooth-Treiberstapel unterstützt Dienst-GUIDs gemäß der Definition von Bluetooth SIG und benutzerdefinierten GUIDs, die nicht von der Bluetooth SIG definiert sind.

Hinweis

Das mit dem Microsoft Windows SDK bereitgestellteguidgen.exeTool kann zum Erstellen benutzerdefinierter GUIDs verwendet werden.

Eine Benutzermodusinstallationsanwendung muss geschrieben werden, um Computerfunktionen verfügbar zu machen, die Remote-Bluetooth-Geräte verwenden können.

Die Installationsanwendung muss mit dem Bluetooth-Treiberstapel kommunizieren, um eine Dienst-GUID für die bereitzustellende Funktionalität zu erstellen. Anbieter geben die Dienst-GUID in der Anwendung und in der INF-Datei der Geräteinstallation an.

Die Installationsanwendung muss die Benutzermodus-API BluetoothSetLocalServiceInfo aufrufen. Bevor die Anwendung diese API aufrufen kann, muss die Anwendung über die SE_LOAD_DRIVER_NAME Sicherheitsberechtigung verfügen. Im folgenden Codebeispiel wird veranschaulicht, wie Sie diese Berechtigung abrufen. Beachten Sie , dass das Beispiel keine Fehlerbehandlung veranschaulicht.

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-Datei des Profiltreibers

Die INF-Datei eines Profiltreibers enthält Informationen zu einem Bluetooth-Gerät für die clientseitige Installation. Bei einer serverseitigen Installation gibt die INF-Datei eine Geräte-ID an, die der dienst-GUID entspricht, die von der Installationsanwendung erstellt wurde. Alle Bluetooth-Geräte sind Mitglieder der Bluetooth-Klasse . Das Bluetooth-Klasseninstallationsprogramm (Bthci.dll) hilft bei der Installation von Profiltreibern.

Weitere Informationen zum Erstellen und Verteilen von INF-Dateien und zum Installieren von Treibern finden Sie unter Creating an INF File and INF File Sections and Direktiven.

Plug and Play IDs

Der Bluetooth-Treiberstapel generiert Hardware-IDs gemäß den folgenden Vorlagen:

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

Der Bluetooth-Treiberstapel generiert kompatible IDs gemäß der folgenden Vorlage:

  • BTHENUM\{ ServiceGUID}

ServiceGUID ist eine 16-Bit-GUID, die gemäß der Bluetooth-Spezifikation in eine 128-Bit-GUID erweitert wird. Beispielsweise entspricht {00001124-0000-1000-8000-00805F9B34FBB} einem HID-Gerät.

  • Die acht Ziffern nach VID& entsprechen dem Anbieter-ID-Code.
  • Die vier Ziffern nach PID& entsprechen dem Produkt-ID-Code.
  • Die vier Ziffern nach LOCALMFG& entsprechen dem Hersteller des lokalen Bluetooth-Radios.
  • Die Tags VID/PID und LOCALMFG sind voneinander unabhängig.

Die generischste Geräte-ID ist selbst eine ServiceGUID . Beispiel:

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

Der Bluetooth-Treiberstapel kann dahingehend eingeschränkt werden, dass Ihr Profiltreiber und Ihre Software nur auf einer bestimmten Version eines entfernten Geräts ausgeführt werden, indem Plug-and-Play-IDs sowohl im entfernten Gerät als auch in der INF-Datei verwendet werden. Der Bluetooth-Treiberstapel generiert nur dann ein VID/PID-Paar, wenn das Gerät eine Plug- und Play-ID veröffentlicht, die der Stapel mithilfe von SDP erkennen kann. Beispiel:

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

Der Bluetooth-Treiberstapel kann darauf beschränkt werden, nur den Profiltreiber und die Software auf einem bestimmten lokalen Bluetooth-Radio auszuführen, indem das LOCALMFG-Tag in der Geräte-ID in der INF-Datei angegeben wird. Beispiel:

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