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.
Длина выходного буфера
Длина структуры
Блок состояния
Если запрос выполнен успешно, элемент сведений в структуре STATUS_BLOCK имеет размер в байтах блока запроса Bluetooth, который был отправлен. В противном случае элемент сведений равен нулю.
Элемент состояния имеет одно из значений в следующей таблице.
Значение состояния | Описание |
---|---|
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.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Версии:_Supported в Windows Vista и более поздних версиях. |
заголовка | bthioctl.h (include BthIoctl.h) |
IRQL | <= PASSIVE_LEVEL |