Bluetooth 및 WM_DEVICECHANGE 메시지

Bluetooth에는 Bluetooth 디바이스가 상태 변경될 때 개발자가 메시지를 가져올 수 있는 특정 WM_DEVICECHANGE 메시지가 포함되어 있습니다. 이 항목에서는 Bluetooth 관련 WM_DEVICECHANGE 메시지를 수신하는 방법을 설명하고 Bluetooth 관련 메시지를 나열합니다.

Bluetooth 관련 WM_DEVICECHANGE 메시지 수신

WM_DEVICECHANGE 메시지를 받으려면 먼저 로컬 라디오에 대한 핸들을 열어야 합니다. 이렇게 하려면 다음 메서드 중 하나를 사용합니다.

Bluetooth 라디오 핸들이 열리면 RegisterDeviceNotification 함수를 호출하고 devicetype으로 DBT_DEVTYP_HANDLE 사용하여 핸들에 알림을 등록합니다. 등록되면 다음 GUID가 전송되고 DEV_BROADCAST_HANDLE::dbch_data 멤버가 연결된 버퍼입니다.

Bluetooth 관련 메시지

다음 표에서는 Bluetooth 관련 WM_DEVICECHANGE 메시지를 나열합니다.

GUID BUFFER 설명
GUID_BLUETOOTH_HCI_EVENT BTH_HCI_EVENT_INFO 이 메시지는 원격 Bluetooth 디바이스가 ACL 수준에서 연결되거나 연결이 끊어질 때 전송됩니다.
GUID_BLUETOOTH_L2CAP_EVENT BTH_L2CAP_EVENT_INFO 이 메시지는 로컬 라디오와 원격 Bluetooth 디바이스 간의 L2CAP 채널이 설정되거나 종료될 때 전송됩니다. RFCOMM과 같은 멀티플렉서인 L2CAP 채널의 경우 이 메시지는 RFCOMM 채널과 같은 각 멀티플렉싱 채널이 설정되거나 종료되는 경우가 아니라 기본 채널이 설정된 경우에만 전송됩니다.
GUID_BLUETOOTH_PIN_REQUEST 해당 사항 없음 이 메시지는 애플리케이션에서 무시해야 합니다. 애플리케이션이 PIN 요청을 받아야 하는 경우 BluetoothRegisterForAuthentication 함수를 사용해야 합니다.
GUID_BLUETOOTH_RADIO_IN_RANGE BTH_RADIO_IN_RANGE 이 메시지는 원격 Bluetooth 디바이스의 다음 특성이 변경되면 전송됩니다. 디바이스가 검색되었습니다. 디바이스 클래스, 이름, 연결된 상태 또는 디바이스가 기억됨 상태입니다. 이 메시지는 이러한 특성이 설정되거나 지워질 때도 전송됩니다.
GUID_BLUETOOTH_RADIO_OUT_OF_RANGE BLUETOOTH_ADDRESS 이 메시지는 마지막 문의가 완료된 후 이전에 검색된 디바이스를 찾을 수 없을 때 전송됩니다. 이 메시지는 기억된 디바이스에 대해 전송되지 않습니다. BTH_ADDRESS 구조는 찾을 수 없는 디바이스의 주소입니다.

 

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