Bluetooth HFP DDI IOCTLs

Windows 8 führt eine Reihe von I/O-Steuercodes (IOCTLs) als Teil eines DDI ein, mit dem der Audiotreiber mit dem HFP-Klassentreiber (Hands-Free Profile) arbeiten kann, um eine Bluetooth-Audioumgehungsverbindung zu betreiben.

Sofern nicht anders angegeben, gilt Folgendes für alle IOCTLs in diesem Abschnitt:

  • Wenn die Anforderung erfolgreich ist, wird der Information-Member der STATUS_BLOCK-Struktur auf die Größe des Ausgabepuffers in Bytes festgelegt. Andernfalls wird das Information-Element auf 0 (null) festgelegt. Das Status-Element wird auf einen NTSTATUS-Wert festgelegt.

  • Alle IOCTLS erfordern IRQL <= PASSIVE_LEVEL.

  • Der Audiotreiber sollte die IOCTLs mit der IRP_MJ_DEVICE_CONTROL-Anforderung verwenden.

Bei den meisten IOCTL-Funktionscodes muss der Audiotreiber den FileObject-Zeiger im IO_STACK_LOCATION für den HFP-Treiber initialisieren, wenn der Audiotreiber eine Gerätesteuerungs-IRP zum Senden an den HFP-Treiber initialisiert. Der Audiotreiber ruft den Dateiobjektzeiger in der Regel durch Aufrufen von IoGetDeviceObjectPointer ab.

Der Audiotreiber sendet wahrscheinlich viele dieser Anforderungen an einen beliebigen Thread (d. h. eine "asynchrone" Anforderung). In diesen Fällen muss der Audiotreiber das IRP selbst mithilfe der IoAllocateIrp-Methode erstellen und Felder im IRP direkt festlegen, anstatt IoBuildDeviceIoControlRequest aufzurufen.

Die folgenden Themen enthalten weitere Details zu diesen 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 hat den Satz von IOCTLs aktualisiert, indem die folgenden neuen hinzugefügt wurden:

IOCTL_BTHHFP_DEVICE_GET_DESCRIPTOR2

IOCTL_BTHHFP_DEVICE_GET_NRECDISABLE_STATUS_UPDATE

Windows 10 hat den Satz von IOCTLs aktualisiert, indem die folgende neue hinzugefügt wurde:

IOCTL_BTHHFP_DEVICE_GET_CODEC_ID

Informationen zu den Strukturen, die mit diesen IOCTLs arbeiten, finden Sie unter Bluetooth HFP DDI-Strukturen.

Bluetooth HFP DDI-Strukturen