Bluetooth HFP DDI IOCTLs
Windows 8 introduit un ensemble de codes de contrôle d’E/S (IOCTL) dans le cadre d’une DDI qui permet au pilote audio de fonctionner avec le pilote de classe Profil mains libres (HFP) pour utiliser une connexion de contournement audio Bluetooth.
Sauf indication contraire, ce qui suit est vrai pour tous les IOCTL de cette section :
Si la demande réussit, le membre Information de la structure STATUS_BLOCK est défini sur la taille, en octets, de la mémoire tampon de sortie. Sinon, le membre Information est défini sur zéro. Le membre Status est défini sur une valeur NTSTATUS.
Tous les IOCTLS nécessitent IRQL <= PASSIVE_LEVEL.
Le pilote audio doit utiliser les listes IOCTL avec la demande de IRP_MJ_DEVICE_CONTROL.
Pour la plupart des codes de fonction IOCTL, le pilote audio doit initialiser le pointeur FileObject dans le IO_STACK_LOCATION du pilote HFP lorsque le pilote audio initialise un IRP de contrôle de périphérique à envoyer au pilote HFP. Le pilote audio récupère généralement le pointeur d’objet de fichier en appelant IoGetDeviceObjectPointer.
Le pilote audio enverra probablement la plupart de ces requêtes sur un thread arbitraire (en d’autres termes, une requête « asynchrone »). Dans ce cas, le pilote audio doit générer l’IRP lui-même à l’aide de la méthode IoAllocateIrp et définir des champs dans l’IRP directement au lieu d’appeler IoBuildDeviceIoControlRequest.
Les rubriques suivantes fournissent plus d’informations sur ces 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_GET_VOLUME_STATUS_UPDATE
IOCTL_BTHHFP_STREAM_GET_STATUS_UPDATE
Windows 8.1 a mis à jour l’ensemble des listes IOCTL en ajoutant les nouvelles suivantes :
IOCTL_BTHHFP_DEVICE_GET_DESCRIPTOR2
IOCTL_BTHHFP_DEVICE_GET_NRECDISABLE_STATUS_UPDATE
Windows 10 a mis à jour l’ensemble des IOCTL en ajoutant le nouveau suivant :
IOCTL_BTHHFP_DEVICE_GET_CODEC_ID
Pour plus d’informations sur les structures qui fonctionnent avec ces IOCTL, consultez Structures DDI Bluetooth HFP.