Bluetooth- und WM_DEVICECHANGE-Nachrichten

Bluetooth enthält bestimmte WM_DEVICECHANGE Nachrichten, mit denen Entwickler Nachrichten abrufen können, wenn Bluetooth-Geräte status Änderungen unterzogen werden. In diesem Thema wird beschrieben, wie Sie Bluetooth-spezifische WM_DEVICECHANGE-Nachrichten empfangen und Bluetooth-spezifische Nachrichten auflisten.

Empfangen von Bluetooth-spezifischen WM_DEVICECHANGE-Nachrichten

Um WM_DEVICECHANGE Nachrichten zu empfangen, muss zuerst ein Handle für das lokale Funkgerät geöffnet werden. Hierzu können Sie eine der folgenden Methoden verwenden:

Wenn das Bluetooth-Funkhandle geöffnet ist, rufen Sie die RegisterDeviceNotification-Funktion auf, und registrieren Sie sich für Benachrichtigungen auf dem Handle, indem Sie DBT_DEVTYP_HANDLE als Gerätetyp verwenden. Bei der Registrierung werden die folgenden GUIDs gesendet, und der DEV_BROADCAST_HANDLE::dbch_data Member ist der zugeordnete Puffer.

Bluetooth-spezifische Nachrichten

In der folgenden Tabelle sind Bluetooth-spezifische WM_DEVICECHANGE-Nachrichten aufgeführt.

GUID BUFFER Beschreibung
GUID_BLUETOOTH_HCI_EVENT BTH_HCI_EVENT_INFO Diese Meldung wird gesendet, wenn ein Bluetooth-Remotegerät auf ACL-Ebene eine Verbindung herstellt oder die Verbindung trennt.
GUID_BLUETOOTH_L2CAP_EVENT BTH_L2CAP_EVENT_INFO Diese Nachricht wird gesendet, wenn ein L2CAP-Kanal zwischen dem lokalen Funkgerät und einem Bluetooth-Remotegerät eingerichtet oder beendet wurde. Bei L2CAP-Kanälen, die Multiplexer sind, z. B. RFCOMM, wird diese Nachricht nur gesendet, wenn der zugrunde liegende Kanal eingerichtet oder beendet wird, nicht, wenn jeder multiplexte Kanal, z. B. ein RFCOMM-Kanal, eingerichtet oder beendet wird.
GUID_BLUETOOTH_PIN_REQUEST Nicht zutreffend Diese Meldung sollte von der Anwendung ignoriert werden. Wenn die Anwendung PIN-Anforderungen empfangen muss, sollte die BluetoothRegisterForAuthentication-Funktion verwendet werden.
GUID_BLUETOOTH_RADIO_IN_RANGE BTH_RADIO_IN_RANGE Diese Nachricht wird gesendet, wenn sich eines der folgenden Attribute eines Bluetooth-Remotegeräts geändert hat: Das Gerät wurde ermittelt, die Geräteklasse, der Name, der Verbindungsstatus oder der Zustand des geräts, der sich gespeichert hat. Diese Nachricht wird auch gesendet, wenn diese Attribute festgelegt oder gelöscht werden.
GUID_BLUETOOTH_RADIO_OUT_OF_RANGE BLUETOOTH_ADDRESS Diese Nachricht wird gesendet, wenn nach Abschluss der letzten Anfrage kein zuvor ermitteltes Gerät gefunden wurde. Diese Nachricht wird nicht für gespeicherte Geräte gesendet. Die BTH_ADDRESS-Struktur ist die Adresse des Geräts, das nicht gefunden wurde.

 

BluetoothFindFirstRadio

BluetoothFindNextRadio

BluetoothFindRadioClose

RegisterDeviceNotification

SetupDiDestroyDeviceInfoList

SetupDiEnumDeviceInterfaces

SetupDiGetClassDevs

BLUETOOTH_ADDRESS

BTH_HCI_EVENT_INFO

BTH_L2CAP_EVENT_INFO

BTH_RADIO_IN_RANGE

DEV_BROADCAST_HANDLE

WM_DEVICECHANGE