Bluetooth IOCTLs

La pile des pilotes Bluetooth fournit des pilotes de profil avec plusieurs IOCTL pour recueillir des informations sur :

  • Radio et système Bluetooth locaux.

  • Appareils Bluetooth distants.

  • Appareil qui a provoqué le chargement d’un pilote de profil par le Gestionnaire Plug-and-Play (PnP).

To gather information about the local Bluetooth radio and system, a profile driver uses IOCTL_BTH_GET_LOCAL_INFO. After the IOCTL returns, its AssociatedIrp.SystemBuffer member contains a pointer to a BTH_LOCAL_RADIO_INFO structure that contains information about the local Bluetooth radio and system, including flags that indicate whether the local radio can be discovered and connected to. The returned BTH_LOCAL_RADIO_INFO structure contains a BTH_DEVICE_INFO structure, which contains system-specific information, and a BTH_RADIO_INFO structure, which contains local radio-specific information.

To gather information about a specific remote Bluetooth device, a profile driver uses IOCTL_BTH_GET_RADIO_INFO. After the IOCTL returns, its AssociatedIrp.SystemBuffer member contains a pointer to a BTH_RADIO_INFO structure that provides information about the specific remote radio, including whether the remote radio can be discovered and connected to.

To gather information about all remote radios that have been discovered, a profile driver uses IOCTL_BTH_GET_DEVICE_INFO. After the IOCTL returns, its AssociatedIrp.SystemBuffer member contains a pointer to a BTH_DEVICE_INFO_LIST structure that contains an array of BTH_DEVICE_INFO structures. La structure BTH_DEVICE_INFO_LIST contient une entrée de tableau pour chaque radio distante découverte. The user-mode BluetoothGetDeviceInfo API uses this functionality to return information about all remote radios.

To gather information about the remote device that caused the PnP Manager to load it, a profile driver uses IOCTL_INTERNAL_BTHENUM_GET_DEVINFO. After the IOCTL returns, its AssociatedIrp.SystemBuffer member contains a pointer to a BTH_DEVICE_INFO structure that contains information about the remote device, including its Bluetooth device address, device state, and its class-of-device (CoD) settings.

A profile driver uses IOCTL_INTERNAL_BTHENUM_GET_ENUMINFO to obtain information about the underlying device and service that caused the PnP manager to load the profile driver. After the IOCTL returns, its AssociatedIrp.SystemBuffer member contains a pointer to a BTH_ENUMERATOR_INFO structure that contains vendor-provided information about the device, including the port number, device flags, vendor ID, and product ID.

Pour plus d’informations sur l’utilisation des IOCTL et brBs Bluetooth, consultez Génération et envoi d’un BRB.