다음을 통해 공유


Bluetooth HFP DDI IOCTL

Windows 8 오디오 드라이버가 HFP(핸즈프리 프로필) 클래스 드라이버와 함께 작동하여 Bluetooth 오디오 바이패스 연결을 작동할 수 있도록 하는 DDI의 일부로 IOCTL(I/O 제어 코드) 집합을 도입했습니다.

달리 명시되지 않는 한 이 섹션의 모든 IOCTL에 대해 다음이 true입니다.

  • 요청이 성공하면 STATUS_BLOCK 구조체의 정보 멤버가 출력 버퍼의 크기(바이트)로 설정됩니다. 그렇지 않으면 정보 멤버가 0으로 설정됩니다. Status 멤버는 NTSTATUS 값으로 설정됩니다.

  • 모든 IOCTLS에는 IRQL <= PASSIVE_LEVEL 필요합니다.

  • 오디오 드라이버는 IRP_MJ_DEVICE_CONTROL 요청과 함께 IOCTL을 사용해야 합니다.

대부분의 IOCTL 함수 코드에서 오디오 드라이버는 오디오 드라이버가 HFP 드라이버로 보낼 디바이스 컨트롤 IRP를 초기화할 때 HFP 드라이버에 대한 IO_STACK_LOCATION FileObject 포인터를 초기화해야 합니다. 오디오 드라이버는 일반적으로 IoGetDeviceObjectPointer를 호출하여 파일 개체 포인터를 검색합니다.

오디오 드라이버는 임의 스레드(즉, "비동기" 요청)에서 이러한 요청의 대부분을 보낼 가능성이 높습니다. 이러한 경우 오디오 드라이버는 IoAllocateIrp 메서드를 사용하여 IRP 자체를 빌드하고 IoBuildDeviceIoControlRequest를 호출하는 대신 IRP에서 필드를 직접 설정해야 합니다.

다음 topics 이러한 Windows 8 IOCTL에 대한 자세한 내용을 제공합니다.

IOCTL_BTHHFP_DEVICE_GET_DESCRIPTOR

IOCTL_BTHHFP_DEVICE_GET_VOLUMEPROPERTYVALUES

IOCTL_BTHHFP_DEVICE_GET_KSNODETYPES

IOCTL_BTHHFP_DEVICE_GET_CONTAINERID

IOCTL_BTHHFP_DEVICE_REQUEST_CONNECT

IOCTL_BTHHFP_DEVICE_REQUEST_DISCONNECT

IOCTL_BTHHFP_DEVICE_GET_CONNECTION_STATUS_UPDATE

IOCTL_BTHHFP_SPEAKER_SET_VOLUME

IOCTL_BTHHFP_SPEAKER_GET_VOLUME_STATUS_UPDATE

IOCTL_BTHHFP_MIC_SET_VOLUME

IOCTL_BTHHFP_MIC_GET_VOLUME_STATUS_UPDATE

IOCTL_BTHHFP_STREAM_OPEN

IOCTL_BTHHFP_STREAM_CLOSE

IOCTL_BTHHFP_STREAM_GET_STATUS_UPDATE

Windows 8.1 다음 새 IOCTL 집합을 추가하여 업데이트했습니다.

IOCTL_BTHHFP_DEVICE_GET_DESCRIPTOR2

IOCTL_BTHHFP_DEVICE_GET_NRECDISABLE_STATUS_UPDATE

Windows 10 다음 새 IOCTL 집합을 추가하여 업데이트했습니다.

IOCTL_BTHHFP_DEVICE_GET_CODEC_ID

이러한 IOCTL을 사용하는 구조체에 대한 자세한 내용은 Bluetooth HFP DDI 구조를 참조하세요.

Bluetooth HFP DDI 구조체