Condividi tramite


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

IRP_MJ_DEVICE_CONTROL

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

Vedere anche

BTH_DEVICE_INFO

BTH_DEVICE_INFO_LIST