Pesan Bluetooth dan WM_DEVICECHANGE
Bluetooth mencakup pesan WM_DEVICECHANGE tertentu yang memungkinkan pengembang untuk mendapatkan pesan saat perangkat Bluetooth mengalami perubahan status. Topik ini menjelaskan cara menerima pesan WM_DEVICECHANGE khusus Bluetooth dan mencantumkan pesan khusus Bluetooth.
Menerima Pesan WM_DEVICECHANGE khusus Bluetooth
Untuk menerima pesan WM_DEVICECHANGE , handel ke radio lokal harus dibuka terlebih dahulu. Untuk melakukan ini, gunakan salah satu metode berikut:
- Gunakan fungsi SetupDiGetClassDevs dengan parameter berikut: (GUID_BTHPORT_DEVICE_INTERFACE, ..., DIGCF_PRESENT | DIGCF_DEVICEINTERFACE), lalu gunakan fungsi SetupDiEnumDeviceInterfaces, SetupDiGetDeviceInterfaceDetail, CreateFile, dan SetupDiDestroyDeviceInfoList.
- Gunakan fungsi BluetoothFindFirstRadio, BluetoothFindNextRadio, dan BluetoothFindRadioClose.
Ketika handel radio Bluetooth dibuka, panggil fungsi RegisterDeviceNotification dan daftar untuk pemberitahuan pada handel menggunakan DBT_DEVTYP_HANDLE sebagai jenis perangkat. Ketika terdaftar, GUID berikut dikirim, dan anggota DEV_BROADCAST_HANDLE::dbch_data adalah buffer terkait.
Pesan khusus Bluetooth
Tabel berikut mencantumkan pesan WM_DEVICECHANGE khusus Bluetooth.
GUID | BUFFER | Deskripsi |
---|---|---|
GUID_BLUETOOTH_HCI_EVENT | BTH_HCI_EVENT_INFO | Pesan ini dikirim ketika perangkat Bluetooth jarak jauh tersambung atau terputus di tingkat ACL. |
GUID_BLUETOOTH_L2CAP_EVENT | BTH_L2CAP_EVENT_INFO | Pesan ini dikirim ketika saluran L2CAP antara radio lokal dan perangkat Bluetooth jarak jauh telah dibuat atau dihentikan. Untuk saluran L2CAP yang merupakan multiplexer, seperti RFCOMM, pesan ini hanya dikirim ketika saluran yang mendasarinya dibuat, bukan ketika setiap saluran multipleks, seperti saluran RFCOMM, dibuat atau dihentikan. |
GUID_BLUETOOTH_PIN_REQUEST | Tidak berlaku. | Pesan ini harus diabaikan oleh aplikasi. Jika aplikasi harus menerima permintaan PIN, fungsi BluetoothRegisterForAuthentication harus digunakan. |
GUID_BLUETOOTH_RADIO_IN_RANGE | BTH_RADIO_IN_RANGE | Pesan ini dikirim ketika salah satu atribut berikut dari perangkat Bluetooth jarak jauh telah berubah: perangkat telah ditemukan, kelas perangkat, nama, status terhubung, atau status yang diingat perangkat. Pesan ini juga dikirim ketika atribut ini diatur atau dibersihkan. |
GUID_BLUETOOTH_RADIO_OUT_OF_RANGE | BLUETOOTH_ADDRESS | Pesan ini dikirim ketika perangkat yang ditemukan sebelumnya belum ditemukan setelah penyelesaian pertanyaan terakhir. Pesan ini tidak akan dikirim untuk perangkat yang diingat. Struktur BTH_ADDRESS adalah alamat perangkat yang tidak ditemukan. |
Topik terkait
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk