Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Stos sterowników Bluetooth obejmuje podstawową część wsparcia zapewnianą przez firmę Microsoft dla protokołu Bluetooth. Dzięki temu stosowi urządzenia z obsługą połączenia Bluetooth mogą lokalizować się nawzajem i nawiązywać połączenia. W przypadku tych połączeń urządzenia mogą wymieniać dane i współdziałać ze sobą za pośrednictwem różnych aplikacji.
Na poniższej ilustracji przedstawiono moduły w stosie sterowników Bluetooth wraz z możliwymi niestandardowymi sterownikami trybu użytkownika i trybu jądra, które nie są uwzględnione w systemie Windows Vista i nowszych wersjach. Sterowniki niestandardowe są znane jako profilowe sterowniki.
Obraz architektury zawiera następujące składniki i przykłady:
Tryb użytkownika
Aplikacja w trybie użytkownika: aplikacja trybu użytkownika uzyskuje dostęp do stosu sterowników Bluetooth za pośrednictwem opublikowanych interfejsów API. Aby uzyskać więcej informacji, zobacz Informacje o funkcji Bluetooth w dokumentacji zestawu Windows SDK.
Aplikacje w trybie użytkownika powinny łączyć się z biblioteką BthProps.lib zamiast IrProps.lib, aby używać interfejsów API, takich jak BluetoothSetLocalServiceInfo.
Przykłady sterowników profilów
Sterownik trybu jądra WAP: Składnik protokołu WAP (Wireless Application Protocol) jest przykładem sterownika profilu, który komunikuje się między stosem sieci systemu Windows i BthPort. Uzyskuje dostęp do interfejsu L2CAP i opcjonalnie uzyskuje dostęp do interfejsu protokołu SDP (Service Discovery Protocol) zawartego w protokole L2CAP. Inne możliwe profile obejmują profil zaawansowanej dystrybucji audio (A2DP), profil zdalnego sterowania A/V (AVRCP), ogólny profil dystrybucji A/V (GAVDP) i wspólny profil dostępu ISDN (CIP).
Sterownik trybu jądra dźwięku: przykład sterownika profilu, który działa jako środek komunikacji między stosem audio systemu Windows a BthPort, umożliwiając dostęp do interfejsów SCO w BthPort. Możliwe profile obejmują profil głośnomówiący (HFP), profil zestawu słuchawkowego (HSP), profil telefonii bezprzewodowej (CTP) i profil interkomu (ICP). Ten sterownik profilu jest dołączony do systemu Windows, począwszy od systemu Windows 8.
Profil monitora tętna Bluetooth LE: przykład sterownika profilu Bluetooth LE, który komunikuje się z interfejsem API Bluetooth Low Energy (LE).
Składniki stosu sterowników Bluetooth
IrProps: składnik używany do zapewnienia kompatybilności wstecznej ze sterownikami profilów utworzonych dla pierwszej wersji stosu Bluetooth sterowników. IrProps jest udostępniane tylko w celu zapewnienia kompatybilności wstecznej. W przypadku nowego programowania użyj składnika BthProps .
BthProps: składnik, który zawiera implementację interfejsu użytkownika Bluetooth wraz z implementacją interfejsów API Bluetooth, do których uzyskują dostęp aplikacje w trybie użytkownika. Ten składnik wysyła zapytania do usługi BthServ za pośrednictwem zdalnych wywołań procedur (RPC). Ponadto BthProps przeprowadza wymiany pinów z BthPort za pośrednictwem prywatnych IOCTLs. BthProps działa w dowolnym systemie z włączonym urządzeniem radiowym Bluetooth.
BthServ: usługa odpowiedzialna za buforowanie i przekazywanie danych zapytania do usługi Bthport.
BthCi: Instalator klasy Bluetooth.
WshBth: pomocniczy składnik gniazda Bluetooth systemu Windows. Funkcja WshBth jest wywoływana przez warstwę gniazd w systemie Windows w celu wykonywania operacji na gniazdach. WshBth wywołuje głównie RFCOMM za pośrednictwem Interfejsu sterownika transportu (TDI). WshBth wywołuje również BthServ, aby przeprowadzić zapytania o urządzenia zdalne, oraz BthPort, aby wykonać lokalne zapytania radiowe.
FSquirt: składnik wymiany obiektów (OBEX), który umożliwia użytkownikom wysyłanie i odbieranie plików za pośrednictwem otwartego połączenia Bluetooth. OBEX komunikuje się z urządzeniami zdalnymi za pomocą RFCOMM, który korzysta ze składnika WshBth.
BthPrint: składnik, który implementuje profil wymiany kablowej dla wydruków (HCRP). Ten składnik umożliwia systemowi drukowania wysyłanie danych do i odbieranie danych z drukarek obsługujących funkcję Bluetooth. Usługa BthPrint komunikuje się z interfejsem SDP w usłudze BthPort w celu wykonywania zapytań dotyczących drukarek zdalnych i interfejsu L2CAP w usłudze BthPort w celu wysyłania i odbierania danych.
HidBth: składnik, który implementuje profil urządzenia interfejsu człowieka (HID). HidBth komunikuje się również z interfejsami L2CAP i SDP w usłudze BthPort. HidBth łączy się ze stosem HID w podobny sposób do modułu USB HID.
BthPan: składnik, który implementuje profil sieci osobistej (PAN), który zapewnia połączenia TCP przez otwarte połączenie Bluetooth. W systemach Windows Vista i Windows XP funkcja BthPan obsługuje tylko połączenia wychodzące. BthPan jest również klientem składnika BthPort i używa interfejsów L2CAP i SDP.
RFCOMM: składnik, który implementuje protokół emulacji szeregowego kabla Bluetooth. RFCOMM używa również interfejsów L2CAP i SDP znalezionych w usłudze BthPort. Górna krawędź RFCOMM uwidacznia interfejs TDI, który pozwala temu składnikowi funkcjonować jako transport sieciowy. W ten sposób usługa WshBth łączy się z funkcją Bluetooth w celu wysyłania i odbierania danych z interfejsów API trybu użytkownika.
Aplikacje w trybie użytkownika mogą uzyskiwać dostęp do funkcji RFCOMM przy użyciu interfejsów Winsock opisanych w zestawie SDK systemu Windows.
BthModem: składnik, który implementuje wirtualne porty COM i sieć dial-up (DUN). Moduł BthModem kieruje wszystkie operacje wejścia/wyjścia i sterowania do RFCOMM za pośrednictwem interfejsu TDI. Górna krawędź elementu BthModem komunikuje się z plikiem Serial.sys, aby dać wrażenie bycia bezprzewodowym portem COM.
BthEnum: Kierowca autobusu Bluetooth. BthEnum komunikuje się z menedżerem Plug and Play (PnP) w celu tworzenia i niszczenia obiektów urządzeń używanych do włączania usług Bluetooth. BthEnum tworzy PDO dla każdej usługi obsługiwanej przez zdalne urządzenie, które jest połączone. Na przykład gdy użytkownik łączy mysz z włączoną funkcją Bluetooth, system Windows wykryje, że mysz obsługuje usługę Bluetooth HID. System Windows tworzy PDO dla usługi HID, co powoduje, że menedżer PnP ładuje sterownik HidBth.
Uwaga / Notatka
BthEnum nie tworzy PDO dla usług, które są wymienione w kluczu rejestru UnsupportedServices, zgodnie z określeniem w pliku Bth.inf.
BthLEEnum: Sterownik autobusu Bluetooth Low Energy (LE). BthLEEnum implementuje protokół ATT i profil GATT. Ten sterownik jest również odpowiedzialny za tworzenie PDO reprezentujących urządzenia zdalne oraz ich główne usługi.
BthPort: minidriver załadowany przez miniport BthUsb. Usługa BthPort udostępnia cztery składniki:
Składnik HCI komunikuje się z lokalnym radiem obsługującym łączność Bluetooth za pośrednictwem interfejsu kontrolera hosta (HCI) zdefiniowanego w specyfikacji Bluetooth. Ponieważ wszystkie urządzenia radiowe z obsługą połączenia Bluetooth implementują specyfikację HCI, usługa BthPort może komunikować się z dowolnym radiem obsługującym łączność Bluetooth, niezależnie od producenta lub modelu.
Składnik SCO implementuje protokół synchronizacji Connection-Oriented (SCO). Ten protokół obsługuje tworzenie połączeń punkt-punkt z urządzeniem zdalnym. Klienci SCO komunikują się z interfejsem SCO przez kompilowanie i wysyłanie bloków żądań Bluetooth (BRB).
L2CAP implementuje protokół kontroli i adaptacji łącza logicznego Bluetooth. Ten protokół obsługuje tworzenie bezstratnego kanału do urządzenia zdalnego. Klienci L2CAP komunikują się z interfejsem L2CAP przez budowanie i wysyłanie BRBs.
Protokół SDP implementuje protokół odnajdywania usług Bluetooth.
BthUsb.sys: miniport, który abstrahuje interfejs magistrali od BthPort.