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_L2CA_REGISTER_SERVER | |
BRB_L2CA_UNREGISTER_SERVER | _BRB_L2CA_UNREGISTER_SERVER |
BRB_L2CA_OPEN_CHANNEL | |
BRB_L2CA_OPEN_CHANNEL_RESPONSE | |
BRB_L2CA_CLOSE_CHANNEL | |
BRB_L2CA_ACL_TRANSFER | |
BRB_L2CA_UPDATE_CHANNEL | |
BRB_L2CA_PING | |
BRB_REGISTER_PSM | |
BRB_UNREGISTER_PSM | |
BRB_SCO_REGISTER_SERVER | |
BRB_SCO_UNREGISTER_SERVER | |
BRB_SCO_OPEN_CHANNEL | |
BRB_SCO_OPEN_CHANNEL_RESPONSE | |
BRB_SCO_CLOSE_CHANNEL | |
BRB_SCO_TRANSFER | |
BRB_SCO_GET_CHANNEL_INFO | |
BRB_SCO_GET_SYSTEM_INFO | |
BRB_SCO_FLUSH_CHANNEL | |
BRB_ACL_GET_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_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 |