Partager via


IOCTL_BTH_GET_DEVICE_INFO IOCTL (bthioctl.h)

La requête IOCTL_BTH_GET_DEVICE_INFO retourne des informations sur toutes les radios mises en cache, précédemment découvertes à distance activées par Bluetooth.

Code principal

IRP_MJ_DEVICE_CONTROL

Mémoire tampon d’entrée

Le membre AssociatedIrp.SystemBuffer pointe vers une mémoire tampon pour une structure BTH_DEVICE_INFO_LIST.

Longueur de la mémoire tampon d’entrée

Longueur d’une structure BTH_DEVICE_INFO_LIST

Mémoire tampon de sortie

Le membre AssociatedIrp.SystemBuffer pointe vers une mémoire tampon qui contient une structure BTH_DEVICE_INFO_LIST. Le numOfDevices membre de la structure BTH_DEVICE_INFO_LIST contient le nombre d’appareils pour lesquels il existe des informations et un tableau de structures BTH_DEVICE_INFO ; une entrée de tableau pour chaque appareil.

Longueur de la mémoire tampon de sortie

Si la taille de la mémoire tampon de sortie passée n’est pas exactement sizeof(BTH_DEVICE_INFO_LIST) plus le multiple correct de sizeof(BTH_DEVICE_INFO), la requête échoue avec STATUS_INVALID_BUFFER_SIZE.

Bloc d’état

Si la demande réussit, l'Information membre de la structure STATUS_BLOCK est définie sur la taille, en octets, de la mémoire tampon qui contient des informations sur le tableau d’appareils. La structure BTH_DEVICE_INFO_LIST contient le stockage de la première structure de BTH_DEVICE_INFO. Par conséquent, si aucun appareil n’est retourné, le membre Informations est défini sur la taille de la première structure.

Le membre Status est défini sur l’une des valeurs du tableau suivant.

Valeur d’état Description
STATUS_SUCCESS Le IOCTL s’est terminé avec succès.
STATUS_INVALID_PARAMETER La mémoire tampon d’entrée passée était NULL.
STATUS_INVALID_BUFFER_SIZE La mémoire tampon de sortie n’a pas été correctement dimensionnée.

Remarques

Le IOCTL_BTH_GET_DEVICE_INFO IOCTL fournit des informations sur toutes les radios distantes précédemment découvertes.

Le numOfDevices membre de la structure BTH_DEVICE_INFO_LIST retourne le nombre total de structures BTH_DEVICE_INFO retournées par le IOCTL. Si le pilote appelant passe dans une mémoire tampon inférieure à la valeur du membre numOfDevices membre, seule une partie des structures disponibles est retournée. Les développeurs de pilotes Bluetooth doivent appeler IOCTL_BTH_GET_DEVICE_INFO avec une petite mémoire tampon, par exemple sizeof(BTH_DEVICE_INFO_LIST), puis utiliser le numOfDevices retourné membre pour dimensionner correctement la mémoire tampon pour un appel ultérieur.

La structure BTH_DEVICE_INFO_LIST inclut le stockage pour la première structure de BTH_DEVICE_INFO. Utilisez la formule suivante pour calculer la taille de mémoire tampon correcte pour un appel à IOCTL_BTH_GET_DEVICE_INFO : Buffer=sizeof(BTH_DEVICE_INFO_LIST)+(NumOfDevices-1)*sizeof(BTH_DEVICE_INFO).

Exigences

Exigence Valeur
client minimum pris en charge Versions :_Supported dans Windows Vista et versions ultérieures.
d’en-tête bthioctl.h (include Bthioctl.h)
IRQL <= PASSIVE_LEVEL

Voir aussi

BTH_DEVICE_INFO

BTH_DEVICE_INFO_LIST