藍牙 HFP DDI IOCTLs

Windows 8引進了一組 I/O 控制程式碼, (IOCTLs) 作為 DDI 的一部分,讓音訊驅動程式能夠使用免持式設定檔 (HFP) 類別驅動程式,以操作藍牙音訊旁路連線。

除非另有說明,否則本節中的所有 IOCTL 都適用下列內容:

  • 如果要求成功,STATUS_BLOCK結構的資訊成員會設定為輸出緩衝區的大小,以位元組為單位。 否則,Information 成員會設定為零。 Status 成員會設定為 NTSTATUS 值。

  • 所有 IOCTLS 都需要 IRQL < = PASSIVE_LEVEL。

  • 音訊驅動程式應該使用 IOCTL 搭配IRP_MJ_DEVICE_CONTROL要求。

對於大部分的 IOCTL 函式程式碼,當音訊驅動程式初始化裝置控制項 IRP 以傳送至 HFP 驅動程式時,音訊驅動程式必須在 HFP 驅動程式的IO_STACK_LOCATION中初始化 FileObject 指標。 音訊驅動程式通常會藉由呼叫 IoGetDeviceObjectPointer 來擷取檔案物件指標。

音訊驅動程式可能會將許多要求傳送到任意執行緒 (,換句話說,「非同步」要求) 。 在這些情況下,音訊驅動程式必須使用 IoAllocateIrp 方法來建置 IRP 本身,並直接在 IRP 中設定欄位,而不是呼叫 IoBuildDeviceIoControlRequest。

下列主題提供有關這些Windows 8 IOCTLs 的詳細資訊:

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:

IOCTL_BTHHFP_DEVICE_GET_DESCRIPTOR2

IOCTL_BTHHFP_DEVICE_GET_NRECDISABLE_STATUS_UPDATE

Windows 10已藉由新增下列 IOCTL 來更新一組 IOCTL:

IOCTL_BTHHFP_DEVICE_GET_CODEC_ID

如需使用這些 IOCTLs 之結構的相關資訊,請參閱 藍牙 HFP DDI 結構

藍牙 HFP DDI 結構