IOCTL_BTH_GET_DEVICE_INFO IOCTL (bthioctl.h)
La richiesta di IOCTL_BTH_GET_DEVICE_INFO restituisce informazioni su tutte le radio remote individuate in precedenza memorizzate nella cache abilitate per Bluetooth.
Codice principale
Buffer di input
Il membro AssociatedIrp.SystemBuffer punta a un buffer per una struttura BTH_DEVICE_INFO_LIST.
Lunghezza del buffer di input
Lunghezza di una struttura BTH_DEVICE_INFO_LIST
Buffer di output
Il membro AssociatedIrp.SystemBuffer punta a un buffer che contiene una struttura BTH_DEVICE_INFO_LIST. Il numOfDevices membro della struttura BTH_DEVICE_INFO_LIST contiene il numero di dispositivi per cui sono presenti informazioni e una matrice di strutture BTH_DEVICE_INFO; una voce di matrice per ogni dispositivo.
Lunghezza del buffer di output
Se le dimensioni del buffer di output passato non sono esattamente sizeof(BTH_DEVICE_INFO_LIST)
più il multiplo corretto di sizeof(BTH_DEVICE_INFO)
, la richiesta avrà esito negativo con STATUS_INVALID_BUFFER_SIZE.
Blocco di stato
Se la richiesta ha esito positivo, la Information membro della struttura STATUS_BLOCK viene impostata sulle dimensioni, in byte, del buffer che contiene informazioni sulla matrice di dispositivi. La struttura BTH_DEVICE_INFO_LIST contiene l'archiviazione per la prima struttura BTH_DEVICE_INFO, quindi se non vengono restituiti dispositivi, il membro informazioni viene impostato sulle dimensioni della prima struttura.
Il membro Status è impostato su uno dei valori della tabella seguente.
Valore di stato | Descrizione |
---|---|
STATUS_SUCCESS | L'IOCTL è stato completato correttamente. |
STATUS_INVALID_PARAMETER | Il buffer di input passato è stato NULL. |
STATUS_INVALID_BUFFER_SIZE | Il buffer di output non è stato ridimensionato correttamente. |
Osservazioni
Il IOCTL_BTH_GET_DEVICE_INFO IOCTL fornisce informazioni su tutte le radio remote individuate in precedenza.
Il numOfDevices membro della struttura BTH_DEVICE_INFO_LIST restituisce il numero totale di strutture BTH_DEVICE_INFO restituite dall'IOCTL. Se il driver chiamante passa un buffer minore del valore del membro numOfDevices, verrà restituita solo una parte delle strutture disponibili. Gli sviluppatori di driver Bluetooth devono chiamare prima IOCTL_BTH_GET_DEVICE_INFO con un buffer piccolo, ad esempio sizeof(BTH_DEVICE_INFO_LIST)
e quindi usare il restituito numOfDevices membro per ridimensionare correttamente il buffer per una chiamata successiva.
La struttura BTH_DEVICE_INFO_LIST include l'archiviazione per la prima struttura BTH_DEVICE_INFO. Usare la formula seguente per calcolare le dimensioni corrette del buffer per una chiamata a IOCTL_BTH_GET_DEVICE_INFO:
Buffer=sizeof(BTH_DEVICE_INFO_LIST)+(NumOfDevices-1)*sizeof(BTH_DEVICE_INFO)
.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Versioni:_Supported in Windows Vista e versioni successive. |
intestazione | bthioctl.h (include Bthioctl.h) |
IRQL | <= PASSIVE_LEVEL |