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 distantes précédemment découvertes et mises en cache et compatibles 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 membre numOfDevices 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 demande échoue avec STATUS_INVALID_BUFFER_SIZE.

Bloc d’état

Si la demande réussit, le membre Information de la structure STATUS_BLOCK est défini 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 BTH_DEVICE_INFO. Par conséquent, si aucun appareil n’est retourné, le membre Information 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 L’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 à distance précédemment découvertes.

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

La structure BTH_DEVICE_INFO_LIST inclut le stockage pour la première structure 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).

Configuration requise

Condition requise Valeur
Client minimal pris en charge Versions :_Supported dans Windows Vista et versions ultérieures.
En-tête bthioctl.h (inclure Bthioctl.h)
IRQL <= PASSIVE_LEVEL

Voir aussi

BTH_DEVICE_INFO

BTH_DEVICE_INFO_LIST