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 qui sont 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 de 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, sizeof(BTH_DEVICE_INFO)la requête é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 pour 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 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.

Notes

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

Le membre numOfDevices de la structure BTH_DEVICE_INFO_LIST retourne le nombre total de structures BTH_DEVICE_INFO 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 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 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 appropriée pour un appel à IOCTL_BTH_GET_DEVICE_INFO : Buffer=sizeof(BTH_DEVICE_INFO_LIST)+(NumOfDevices-1)*sizeof(BTH_DEVICE_INFO)

Spécifications

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

Voir aussi

BTH_DEVICE_INFO

BTH_DEVICE_INFO_LIST