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_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 |
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. |
|
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 |