Bagikan melalui


Tumpukan Bluetooth driver

Tumpukan driver Bluetooth terdiri dari bagian inti dari dukungan yang disediakan oleh Microsoft untuk protokol Bluetooth. Dengan tumpukan ini, perangkat yang mendukung Bluetooth dapat menemukan satu sama lain dan membuat koneksi. Di seluruh koneksi ini, perangkat dapat bertukar data dan berinteraksi satu sama lain melalui berbagai aplikasi.

Gambar berikut menunjukkan modul dalam tumpukan driver Bluetooth, bersama dengan kemungkinan driver mode pengguna dan mode kernel kustom yang tidak disertakan dalam Windows Vista dan yang lebih baru. Driver kustom dikenal sebagai driver profil.

Diagram memperlihatkan arsitektur tumpukan driver Bluetooth.

Gambar arsitektur mencakup komponen dan contoh berikut:

  • Mode pengguna

    • Aplikasi mode pengguna: Aplikasi mode pengguna mengakses tumpukan driver Bluetooth melalui API yang diterbitkan. Untuk informasi selengkapnya, lihat Tentang Bluetooth di dokumentasi Windows SDK.

      Aplikasi mode pengguna harus ditautkan terhadap BthProps.lib, alih-alih IrProps.lib, untuk menggunakan API seperti BluetoothSetLocalServiceInfo.

  • Contoh pengandar profil

    • Driver Mode Kernel WAP: Komponen Wireless Application Protocol (WAP) adalah contoh driver profil yang berkomunikasi antara tumpukan jaringan Windows dan BthPort. Ini mengakses antarmuka L2CAP dan secara opsional mengakses antarmuka Service Discovery Protocol (SDP) yang terkandung dalam L2CAP. Profil lain yang mungkin termasuk profil Distribusi Audio Tingkat Lanjut (A2DP), profil Kontrol Jarak Jauh A/V (AVRCP), profil Distribusi Generik A/V (GAVDP), dan profil Akses ISDN Umum (CIP).

    • Driver Kernel Mode Audio: Contoh driver profil yang berkomunikasi antara stack audio Windows dan BthPort, yang mengakses antarmuka SCO yang terkandung dalam BthPort. Profil yang mungkin termasuk profil Hands Free (HFP), profil Headset (HSP), profil Telepon Tanpa Kabel (CTP), dan profil Interkom (ICP). Pengandar profil ini disertakan dengan Windows mulai dari Windows 8.

    • Profil Monitor Detak Jantung LE Bluetooth: Contoh driver profil BLUETOOTH LE yang berkomunikasi dengan API Bluetooth Low Energy (LE).

  • Komponen tumpukan driver Bluetooth

    • IrProps: Komponen yang digunakan untuk kompatibilitas balik dengan driver profil yang dibuat untuk versi pertama dari tumpukan driver Bluetooth. IrProps disediakan hanya untuk kompatibilitas mundur. Untuk pengembangan baru, gunakan komponen BthProps .

    • BthProps: Komponen yang berisi implementasi antarmuka pengguna Bluetooth bersama dengan implementasi API Bluetooth yang diakses aplikasi mode pengguna. Komponen ini mengirimkan pertanyaan ke BthServ melalui panggilan prosedur jarak jauh (RPC). Selain itu, BthProps melakukan pertukaran pin dengan BthPort melalui IOCTL privat. BthProps berjalan pada sistem apa pun dengan radio berkemampuan Bluetooth.

    • BthServ: Layanan yang bertanggung jawab dalam melakukan penembolokan dan penerusan data permintaan ke Bthport.

    • BthCi: Alat penginstal kelas Bluetooth.

    • WshBth: Komponen pembantu soket Windows Bluetooth. WshBth dipanggil oleh lapisan soket Windows untuk melakukan operasi soket. WshBth terutama berhubungan dengan RFCOMM melalui Antarmuka Driver Transportasi (TDI). WshBth juga memanggil BthServ untuk melakukan pertanyaan perangkat jarak jauh dan ke BthPort untuk melakukan pertanyaan radio lokal.

    • FSquirt: Komponen Nonextensible Object Exchange (OBEX) yang memungkinkan pengguna mengirim dan menerima file di seluruh koneksi Bluetooth yang terbuka. OBEX berkomunikasi dengan perangkat jarak jauh melalui RFCOMM yang menggunakan komponen WshBth.

    • BthPrint: Komponen yang mengimplementasikan Profil Penggantian Kabel Hardcopy (HCRP). Komponen ini memungkinkan sistem cetak mengirim data ke dan menerima data dari printer berkemampukan Bluetooth. BthPrint berkomunikasi dengan antarmuka SDP di BthPort untuk mengkueri printer jarak jauh dan antarmuka L2CAP di BthPort untuk mengirim dan menerima data.

    • HidBth: Komponen yang mengimplementasikan profil Human Interface Device (HID). HidBth juga berkomunikasi dengan antarmuka L2CAP dan SDP di BthPort. HidBth terhubung ke tumpukan HID dengan cara yang sama dengan modul USB HID.

    • BthPan: Komponen yang mengimplementasikan profil Personal Area Network (PAN), yang menyediakan koneksi TCP di seluruh koneksi Bluetooth yang terbuka. Di Windows Vista dan Windows XP, BthPan hanya mendukung koneksi keluar. BthPan juga merupakan klien komponen BthPort dan menggunakan antarmuka L2CAP dan SDP.

    • RFCOMM: Komponen yang mengimplementasikan protokol emulasi kabel serial Bluetooth. RFCOMM juga menggunakan antarmuka L2CAP dan SDP yang ditemukan di BthPort. Lapisan atas RFCOMM mengekspos antarmuka TDI, yang memungkinkan komponen ini berfungsi sebagai sarana komunikasi jaringan. Pendekatan ini adalah bagaimana WshBth terhubung ke Bluetooth untuk mengirim dan menerima data dari API mode pengguna.

      Aplikasi mode pengguna dapat mengakses RFCOMM dengan menggunakan antarmuka Winsock yang dijelaskan di Windows SDK.

    • BthModem: Komponen yang mengimplementasikan port COM virtual dan jaringan dial-up (DUN). BthModem mengarahkan semua I/O dan operasi kontrol ke RFCOMM melalui antarmuka TDI. Tepi atas BthModem berkomunikasi dengan file Serial.sys untuk memberikan tampilan sebagai port COM nirkabel.

    • BthEnum: Pengandar bus Bluetooth. BthEnum berkomunikasi dengan manajer Plug and Play (PnP) untuk membuat dan menghancurkan objek perangkat yang digunakan untuk mengaktifkan layanan Bluetooth. BthEnum membuat PDO untuk setiap layanan yang didukung perangkat jarak jauh yang terhubung. Misalnya, ketika pengguna menyambungkan mouse yang mendukung Bluetooth, Windows menemukan bahwa mouse mendukung layanan Bluetooth HID. Windows membuat PDO untuk layanan HID yang menyebabkan manajer PnP memuat HidBth.

      Nota

      BthEnum tidak membuat Perangkat Pengenalan Perangkat Keras (PDO) untuk layanan yang muncul di kunci registri UnsupportedServices seperti yang ditentukan dalam file INF Bth.inf.

    • BthLEEnum: Pengemudi bus Bluetooth Low Energy (LE). BthLEEnum menerapkan protokol ATT dan profil GATT. Driver ini juga bertanggung jawab untuk membuat PDO untuk mewakili perangkat jarak jauh dan layanan utamanya.

    • BthPort: Sebuah minidriver yang dimuat oleh miniport BthUsb. BthPort menyediakan empat komponen:

      • Komponen HCI berkomunikasi ke radio berkemampuan Bluetooth lokal melalui Host Controller Interface (HCI) yang ditentukan dalam spesifikasi Bluetooth. Karena semua radio berkemampuan Bluetooth mengimplementasikan spesifikasi HCI, BthPort dapat berkomunikasi dengan radio berkemampuan Bluetooth apa pun, terlepas dari produsen atau modelnya.

      • Komponen SCO mengimplementasikan protokol Synchronous Connection-Oriented (SCO). Protokol ini mendukung pembuatan koneksi titik-ke-titik ke perangkat jarak jauh. Klien SCO berkomunikasi dengan antarmuka SCO dengan membangun dan mengirim blok permintaan Bluetooth (BRB).

      • L2CAP mengimplementasikan kontrol tautan logis Bluetooth dan protokol adaptasi. Protokol ini mendukung pembuatan saluran data tanpa kehilangan ke perangkat jarak jauh. Klien L2CAP berkomunikasi dengan antarmuka L2CAP dengan membangun dan mengirim BRB.

      • SDP mengimplementasikan Protokol Penemuan Layanan Bluetooth.

    • BthUsb.sys: Miniport yang mengabstraksi antarmuka bus dari BthPort.