Bluetooth 및 WM_DEVICECHANGE 메시지
Bluetooth에는 Bluetooth 디바이스가 상태 변경될 때 개발자가 메시지를 가져올 수 있는 특정 WM_DEVICECHANGE 메시지가 포함되어 있습니다. 이 항목에서는 Bluetooth 관련 WM_DEVICECHANGE 메시지를 수신하는 방법을 설명하고 Bluetooth 관련 메시지를 나열합니다.
Bluetooth 관련 WM_DEVICECHANGE 메시지 수신
WM_DEVICECHANGE 메시지를 받으려면 먼저 로컬 라디오에 대한 핸들을 열어야 합니다. 이렇게 하려면 다음 메서드 중 하나를 사용합니다.
- 다음 매개 변수와 함께 SetupDiGetClassDevs 함수를 사용합니다. (GUID_BTHPORT_DEVICE_INTERFACE, ..., DIGCF_PRESENT | DIGCF_DEVICEINTERFACE) 그런 다음 SetupDiEnumDeviceInterfaces, SetupDiGetDeviceInterfaceDetail, CreateFile 및 SetupDiDestroyDeviceInfoList 함수를 사용합니다.
- BluetoothFindFirstRadio, BluetoothFindNextRadio 및 BluetoothFindRadioClose 함수를 사용합니다.
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 구조는 찾을 수 없는 디바이스의 주소입니다. |
관련 항목