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

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 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

Vedi anche

BTH_DEVICE_INFO

BTH_DEVICE_INFO_LIST