IOCTL_BTH_GET_DEVICE_INFO IOCTL (bthioctl.h)

Запрос IOCTL_BTH_GET_DEVICE_INFO возвращает сведения обо всех кэшированных ранее обнаруженных удаленных радиостанциях с поддержкой Bluetooth.

Основной код

IRP_MJ_DEVICE_CONTROL

Входной буфер

Элемент AssociatedIrp.SystemBuffer указывает на буфер для структуры BTH_DEVICE_INFO_LIST .

Длина входного буфера

Длина структуры BTH_DEVICE_INFO_LIST

Выходной буфер

Элемент AssociatedIrp.SystemBuffer указывает на буфер, содержащий структуру BTH_DEVICE_INFO_LIST . Элемент numOfDevices структуры BTH_DEVICE_INFO_LIST содержит количество устройств, для которых есть сведения, и массив BTH_DEVICE_INFO структур; одна запись массива для каждого устройства.

Длина выходного буфера

Если размер переданного выходного буфера не является точно sizeof(BTH_DEVICE_INFO_LIST) равным правильному кратному sizeof(BTH_DEVICE_INFO), запрос завершится ошибкой с STATUS_INVALID_BUFFER_SIZE.

Блок состояния

Если запрос выполнен успешно, элементу Information структуры STATUS_BLOCK присваивается размер (в байтах) буфера, в котором хранятся сведения о массиве устройств. Структура BTH_DEVICE_INFO_LIST содержит хранилище для первой BTH_DEVICE_INFO структуры, поэтому, если устройства не возвращаются, элементу Information присваивается размер первой структуры.

Для элемента Status задано одно из значений в следующей таблице.

Значение состояния Описание
STATUS_SUCCESS IOCTL успешно завершен.
STATUS_INVALID_PARAMETER Входной буфер, переданный в, имеет значение NULL.
STATUS_INVALID_BUFFER_SIZE Размер выходного буфера не был правильным.

Комментарии

IOCTL_BTH_GET_DEVICE_INFO IOCTL предоставляет сведения обо всех ранее обнаруженных удаленных радиостанциях.

Элемент numOfDevices структуры BTH_DEVICE_INFO_LIST возвращает общее количество BTH_DEVICE_INFO структур, возвращаемых IOCTL. Если вызывающий драйвер передает буфер, который меньше значения элемента numOfDevices , возвращается только часть доступных структур. Разработчики драйверов Bluetooth должны сначала вызвать IOCTL_BTH_GET_DEVICE_INFO с небольшим буфером, например sizeof(BTH_DEVICE_INFO_LIST), а затем использовать возвращенный член numOfDevices для правильного размера буфера для последующего вызова.

Структура BTH_DEVICE_INFO_LIST включает хранилище для первой структуры BTH_DEVICE_INFO. Используйте следующую формулу, чтобы вычислить правильный размер буфера для вызова IOCTL_BTH_GET_DEVICE_INFO: Buffer=sizeof(BTH_DEVICE_INFO_LIST)+(NumOfDevices-1)*sizeof(BTH_DEVICE_INFO).

Требования

Требование Значение
Минимальная версия клиента Versions:_Supported в Windows Vista и более поздних версий.
Верхняя часть bthioctl.h (включая Bthioctl.h)
IRQL <= PASSIVE_LEVEL

См. также раздел

BTH_DEVICE_INFO

BTH_DEVICE_INFO_LIST