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:

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.

 

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