다음을 통해 공유


Bluetooth IOCTL

Bluetooth 드라이버 스택은 프로필 드라이버에 다음과 같은 정보를 수집하는 여러 IOCTL을 제공합니다.

  • 로컬 Bluetooth 라디오 및 시스템.

  • 원격 Bluetooth 디바이스.

  • 플러그 앤 플레이(PnP) 관리자가 프로필 드라이버를 로드하게 한 디바이스입니다.

로컬 Bluetooth 라디오 및 시스템에 대한 정보를 수집하기 위해 프로필 드라이버는 IOCTL_BTH_GET_LOCAL_INFO 사용합니다. IOCTL이 반환 된 후 ASSOCIATedIrp.SystemBuffer 멤버는 로컬 라디오를 검색하고 연결할 수 있는지 여부를 나타내는 플래그를 포함하여 로컬 Bluetooth 라디오 및 시스템에 대한 정보를 포함하는 BTH_LOCAL_RADIO_INFO 구조체 에 대한 포인터를 포함합니다. 반환된 BTH_LOCAL_RADIO_INFO 구조체에는 시스템별 정보를 포함하는 BTH_DEVICE_INFO 구조와 로컬 라디오 관련 정보가 포함된 BTH_RADIO_INFO 구조가 포함됩니다.

특정 원격 Bluetooth 디바이스에 대한 정보를 수집하기 위해 프로필 드라이버는 IOCTL_BTH_GET_RADIO_INFO 사용합니다. IOCTL이 반환 되면 ASSOCIATedIrp.SystemBuffer 멤버는 원격 라디오를 검색하고 연결할 수 있는지 여부를 포함하여 특정 원격 라디오에 대한 정보를 제공하는 BTH_RADIO_INFO 구조에 대한 포인터를 포함합니다.

검색된 모든 원격 라디오에 대한 정보를 수집하기 위해 프로필 드라이버는 IOCTL_BTH_GET_DEVICE_INFO 사용합니다. IOCTL이 반환 되면 ASSOCIATedIrp.SystemBuffer 멤버는 BTH_DEVICE_INFO 구조체 배열을 포함하는 BTH_DEVICE_INFO_LIST 구조체에 대한 포인터를 포함합니다. BTH_DEVICE_INFO_LIST 구조에는 검색된 각 원격 라디오에 대해 하나의 배열 항목이 포함됩니다. 사용자 모드 BluetoothGetDeviceInfo API는 이 기능을 사용하여 모든 원격 라디오에 대한 정보를 반환합니다.

PnP 관리자가 로드한 원격 디바이스에 대한 정보를 수집하기 위해 프로필 드라이버는 IOCTL_INTERNAL_BTHENUM_GET_DEVINFO 사용합니다. IOCTL이 반환 되면 ASSOCIATedIrp.SystemBuffer 멤버는 Bluetooth 디바이스 주소, 디바이스 상태 및 CoD(디바이스 클래스) 설정을 포함하여 원격 디바이스에 대한 정보를 포함하는 BTH_DEVICE_INFO 구조에 대한 포인터를 포함합니다.

프로필 드라이버는 IOCTL_INTERNAL_BTHENUM_GET_ENUMINFO 사용하여 PnP 관리자가 프로필 드라이버를 로드하게 한 기본 디바이스 및 서비스에 대한 정보를 가져옵니다. IOCTL이 반환 된 후 AssociatedIrp.SystemBuffer 멤버는 포트 번호, 디바이스 플래그, 공급업체 ID 및 제품 ID를 포함하여 공급업체에서 제공한 디바이스 정보를 포함하는 BTH_ENUMERATOR_INFO 구조에 대한 포인터를 포함합니다.

Bluetooth IOCTL 및 BRB 사용에 대한 자세한 내용은 BRB 빌드 및 보내기를 참조하세요.