Compartilhar via


IOCTL_INTERNAL_BTH_SUBMIT_BRB IOCTL (bthioctl.h)

Os drivers de perfil usam IOCTL_INTERNAL_BTH_SUBMIT_BRB para enviar um BRB (Bloco de Solicitação Bluetooth) para a pilha de drivers Bluetooth.

Código principal

IRP_MJ_INTERNAL_DEVICE_CONTROL

Buffer de entrada

O membro Parameters.Others.Argument1 aponta para o endereço de uma instância da estrutura que corresponde ao BRB que o driver de perfil pretende emitir. A lista a seguir descreve as estruturas que correspondem a BRBs específicos.

BRB (Bloco de Solicitação Bluetooth) Estrutura correspondente
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

Comprimento do buffer de entrada

O comprimento da estrutura.

Buffer de saída

Se o BRB retornar saída, Parameters-Others.Argument1> apontará para o mesmo BRB que foi passado como entrada. A saída é retornada nos membros da estrutura BRB associada ou em buffers especificados na estrutura BRB.

Comprimento do buffer de saída

O comprimento da estrutura

Bloco de status

Se a solicitação for bem-sucedida, o membro Informações da estrutura STATUS_BLOCK será definido como o tamanho, em bytes, do bloco de solicitação Bluetooth que foi enviado. Caso contrário, o membro Informações será definido como zero.

O membro Status é definido como um dos valores na tabela a seguir.

Valor de status Descrição
STATUS_SUCCESS O IOCTL foi concluído com êxito.
STATUS_INVALID_DEVICE_REQUEST A solicitação enviada ao dispositivo remoto por meio da estrutura BRB era inválida.
STATUS_INVALID_PARAMETER Um ou mais dos parâmetros de entrada eram inválidos.
STATUS_INVALID_BUFFER_SIZE ou
STATUS_BUFFER_TOO_SMALL
O comprimento do buffer fornecido era muito pequeno.
STATUS_NOT_IMPLEMENTED A pilha não implementou o módulo necessário para processar o BRB.
STATUS_NOT_SUPPORTED A pilha não dá suporte a esse BRB.
STATUS_PENDING O BRB está pendente.

Comentários

Os drivers de perfil usam BRBs para lidar com a maioria das tarefas de entrada, saída e conexão. Vários BRBs são definidos para essas tarefas e cada um usa uma estrutura específica e correspondente. Todos os BRBs compartilham um cabeçalho comum, que contém o tipo do BRB. A pilha de driver Bluetooth usa o cabeçalho BRB para interpretar corretamente o restante do BRB. Para obter mais informações sobre cabeçalhos BRB, consulte a estrutura BRB_HEADER .

Para obter mais informações sobre como os drivers de perfil usam BRBs para se comunicar com a pilha de driver Bluetooth, consulte Compilando e enviando um BRB.

Esses BRBs devem ser chamados em IRQL <= PASSIVE_LEVEL.

Requisitos

Requisito Valor
Cliente mínimo com suporte Versões:_Supported no Windows Vista e posterior.
Cabeçalho bthioctl.h (inclua BthIoctl.h)
IRQL <= PASSIVE_LEVEL

Confira também

BRB_HEADER

BRB_TYPE

Criando e enviando um BRB