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 che sono 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 membro numOfDevices della struttura BTH_DEVICE_INFO_LIST contiene il numero di dispositivi per i quali 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 dello stato
Se la richiesta ha esito positivo, il membro Informazioni della struttura STATUS_BLOCK è impostato 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 era NULL. |
STATUS_INVALID_BUFFER_SIZE | Il buffer di output non è stato ridimensionato correttamente. |
Commenti
Il IOCTL_BTH_GET_DEVICE_INFO IOCTL fornisce informazioni su tutte le radio remote individuate in precedenza.
Il membro numOfDevices della struttura BTH_DEVICE_INFO_LIST restituisce il numero totale di strutture BTH_DEVICE_INFO restituite da IOCTL. Se il driver chiamante passa in un buffer minore del valore del membro numOfDevices , verrà restituita solo una parte delle strutture disponibili. Gli sviluppatori di driver Bluetooth devono chiamare IOCTL_BTH_GET_DEVICE_INFO con un buffer piccolo, ad esempio sizeof(BTH_DEVICE_INFO_LIST)
, e quindi usare il membro numOfDevices restituito 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 del buffer corrette per una chiamata a IOCTL_BTH_GET_DEVICE_INFO:
Buffer=sizeof(BTH_DEVICE_INFO_LIST)+(NumOfDevices-1)*sizeof(BTH_DEVICE_INFO)
.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Versioni:_Supported in Windows Vista e versioni successive. |
Intestazione | bthioctl.h (include Bthioctl.h) |
IRQL | <= PASSIVE_LEVEL |