Поделиться через


IOCTL_INTERNAL_BTH_SUBMIT_BRB IOCTL (bthioctl.h)

Драйверы профилей используют IOCTL_INTERNAL_BTH_SUBMIT_BRB для отправки блока запросов Bluetooth (BRB) в стек драйверов Bluetooth.

Основной код

IRP_MJ_INTERNAL_DEVICE_CONTROL

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

Элемент Parameters.Others.Argument1 указывает на адрес экземпляра структуры, соответствующего brb, который драйвер профиля намерен выдать. В следующем списке описаны структуры, соответствующие конкретным ББР.

Блок запросов Bluetooth (BRB) Соответствующая структура
BRB_HCI_GET_LOCAL_BD_ADDR

_BRB_GET_LOCAL_BD_ADDR

BRB_L2CA_REGISTER_SERVER

_BRB_L2CA_REGISTER_SERVER

BRB_L2CA_UNREGISTER_SERVER _BRB_L2CA_UNREGISTER_SERVER
BRB_L2CA_OPEN_CHANNEL

_BRB_L2CA_OPEN_CHANNEL

BRB_L2CA_OPEN_CHANNEL_RESPONSE

_BRB_L2CA_OPEN_CHANNEL

BRB_L2CA_CLOSE_CHANNEL

_BRB_L2CA_CLOSE_CHANNEL

BRB_L2CA_ACL_TRANSFER

_BRB_L2CA_ACL_TRANSFER

BRB_L2CA_UPDATE_CHANNEL

_BRB_L2CA_UPDATE_CHANNEL

BRB_L2CA_PING

_BRB_L2CA_PING

BRB_REGISTER_PSM

_BRB_PSM

BRB_UNREGISTER_PSM

_BRB_PSM

BRB_SCO_REGISTER_SERVER

_BRB_SCO_REGISTER_SERVER

BRB_SCO_UNREGISTER_SERVER

_BRB_SCO_UNREGISTER_SERVER

BRB_SCO_OPEN_CHANNEL

_BRB_SCO_OPEN_CHANNEL

BRB_SCO_OPEN_CHANNEL_RESPONSE

_BRB_SCO_OPEN_CHANNEL

BRB_SCO_CLOSE_CHANNEL

_BRB_SCO_CLOSE_CHANNEL

BRB_SCO_TRANSFER

_BRB_SCO_TRANSFER

BRB_SCO_GET_CHANNEL_INFO

_BRB_SCO_GET_CHANNEL_INFO

BRB_SCO_GET_SYSTEM_INFO

_BRB_SCO_GET_SYSTEM_INFO

BRB_SCO_FLUSH_CHANNEL

_BRB_SCO_FLUSH_CHANNEL

BRB_ACL_GET_MODE

_BRB_ACL_GET_MODE

BRB_ACL_ENTER_ACTIVE_MODE

_BRB_ACL_ENTER_ACTIVE_MODE

BRB_GET_DEVICE_INTERFACE_STRING _BRB_GET_DEVICE_INTERFACE_STRING

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

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

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

Если BRB возвращает выходные данные, Parameters-Others.Argument1> указывает на тот же BRB, который был передан в качестве входных данных. Выходные данные возвращаются в членах связанной структуры BRB или в буферах, указанных в структуре BRB.

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

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

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

Если запрос выполнен успешно, элементу Informationструктуры STATUS_BLOCK присваивается размер отправленного блока запроса Bluetooth в байтах. В противном случае элементу Information присваивается нулевое значение.

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

Значение состояния Описание
STATUS_SUCCESS IOCTL успешно завершен.
STATUS_INVALID_DEVICE_REQUEST Запрос, отправленный на удаленное устройство через структуру BRB, был недопустимым.
STATUS_INVALID_PARAMETER Один или несколько входных параметров были недопустимыми.
STATUS_INVALID_BUFFER_SIZE или
STATUS_BUFFER_TOO_SMALL
Длина предоставленного буфера была слишком мала.
STATUS_NOT_IMPLEMENTED В стеке не реализован необходимый модуль для обработки BRB.
STATUS_NOT_SUPPORTED Стек не поддерживает этот BRB.
STATUS_PENDING BrB находится в ожидании.

Комментарии

Драйверы профилей используют BRB для обработки большинства задач ввода, вывода и подключения. Для этих задач определено несколько BRB, и каждая из них использует определенную соответствующую структуру. Все BRB имеют общий заголовок, который содержит тип BRB. Стек драйверов Bluetooth использует заголовок BRB для правильной интерпретации оставшейся части BRB. Дополнительные сведения о заголовках BRB см. в разделе структура BRB_HEADER .

Дополнительные сведения о том, как драйверы профилей используют BRB для взаимодействия со стеком драйверов Bluetooth, см. в разделе Создание и отправка BRB.

Эти brb должны вызываться в IRQL <= PASSIVE_LEVEL.

Требования

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

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

BRB_HEADER

BRB_TYPE

Создание и отправка BRB