Bluetooth IOCTLs
Lo stack di driver Bluetooth fornisce driver di profilo con diversi IOCTLs per raccogliere informazioni su:
Radio e sistema Bluetooth locale.
Dispositivi Bluetooth remoti.
Dispositivo che ha causato il caricamento di un driver di profilo da parte di Plug and Play (PnP).
Per raccogliere informazioni sulla radio e sul sistema Bluetooth locale, un driver del profilo usa IOCTL_BTH_GET_LOCAL_INFO. Dopo aver restituito IOCTL, il membro AssociatedIrp.SystemBuffer contiene un puntatore a una struttura BTH_LOCAL_RADIO_INFO che contiene informazioni sulla radio e sul sistema Bluetooth locale, inclusi i flag che indicano se la radio locale può essere individuata e connessa. La struttura BTH_LOCAL_RADIO_INFO restituita contiene una struttura BTH_DEVICE_INFO , che contiene informazioni specifiche del sistema e una struttura BTH_RADIO_INFO, che contiene informazioni specifiche sulla radio locale.
Per raccogliere informazioni su un dispositivo Bluetooth remoto specifico, un driver del profilo usa IOCTL_BTH_GET_RADIO_INFO. Dopo aver restituito IOCTL, il membro AssociatedIrp.SystemBuffer contiene un puntatore a una struttura BTH_RADIO_INFO che fornisce informazioni sulla radio remota specifica, incluso se è possibile individuare e connettere la radio remota.
Per raccogliere informazioni su tutte le radio remote individuate, un driver del profilo usa IOCTL_BTH_GET_DEVICE_INFO. Dopo aver restituito IOCTL, il membro AssociateIrp.SystemBuffer contiene un puntatore a una struttura BTH_DEVICE_INFO_LIST che contiene una matrice di strutture BTH_DEVICE_INFO . La struttura BTH_DEVICE_INFO_LIST contiene una voce di matrice per ogni radio remota individuata. L'API BluetoothGetDeviceInfo in modalità utente usa questa funzionalità per restituire informazioni su tutte le radio remote.
Per raccogliere informazioni sul dispositivo remoto che ha causato il caricamento di PnP Manager, un driver del profilo usa IOCTL_INTERNAL_BTHENUM_GET_DEVINFO. Dopo aver restituito IOCTL, il membro AssociateIrp.SystemBuffer contiene un puntatore a una struttura di BTH_DEVICE_INFO che contiene informazioni sul dispositivo remoto, incluso l'indirizzo del dispositivo Bluetooth, lo stato del dispositivo e le relative impostazioni coD (class-of-device).
Un driver del profilo usa IOCTL_INTERNAL_BTHENUM_GET_ENUMINFO per ottenere informazioni sul dispositivo sottostante e sul servizio che ha causato il caricamento del driver del profilo da parte del gestore PnP. Dopo aver restituito IOCTL, il membro AssociateIrp.SystemBuffer contiene un puntatore a una struttura BTH_ENUMERATOR_INFO che contiene informazioni fornite dal fornitore sul dispositivo, tra cui il numero di porta, i flag di dispositivo, l'ID fornitore e l'ID prodotto.
Per altre informazioni sull'uso di IOCTLs e BRB Bluetooth, vedere Compilazione e invio di un BRB.