Bluetooth HFP DDI IOCTLs

Windows 8 introduce un set di codici di controllo I/O (IOCTLs) come parte di un DDI che consente al driver audio di lavorare con il driver di classe HFP (Hands-free profile), per gestire una connessione di bypass audio Bluetooth.

Se non diversamente specificato, la seguente è vera per tutti i valori IOCTL in questa sezione:

  • Se la richiesta ha esito positivo, il membro Informazioni della struttura STATUS_BLOCK viene impostato sulle dimensioni, in byte, del buffer di output. In caso contrario, il membro Informazioni è impostato su zero. Il membro Status è impostato su un valore NTSTATUS.

  • Tutti IOCTLS richiedono IRQL <= PASSIVE_LEVEL.

  • Il driver audio deve usare IOCTLs con la richiesta di IRP_MJ_DEVICE_CONTROL.

Per la maggior parte dei codici di funzione IOCTL, il driver audio deve inizializzare il puntatore FileObject nel IO_STACK_LOCATION per il driver HFP quando il driver audio inizializza un IRP di controllo del dispositivo per l'invio al driver HFP. Il driver audio recupera in genere il puntatore all'oggetto file chiamando IoGetDeviceObjectPointer.

Il driver audio invierà probabilmente molte di queste richieste su un thread arbitrario (in altre parole, una richiesta "asincrona"). In questi casi il driver audio dovrà compilare l'IRP usando il metodo IoAllocateIrp e impostare i campi direttamente in IRP anziché chiamare IoBuildDeviceIoControlRequest.

Negli argomenti seguenti vengono forniti altri dettagli su questi 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 ha aggiornato il set di IOCTLs aggiungendo quelli nuovi seguenti:

IOCTL_BTHHFP_DEVICE_GET_DESCRIPTOR2

IOCTL_BTHHFP_DEVICE_GET_NRECDISABLE_STATUS_UPDATE

Windows 10 ha aggiornato il set di IOCTLs aggiungendo il nuovo codice seguente:

IOCTL_BTHHFP_DEVICE_GET_CODEC_ID

Per informazioni sulle strutture che funzionano con questi IOCTL, vedere Strutture DDI HFP Bluetooth.

Strutture DDI Bluetooth HFP