estrutura _BRB_SCO_OPEN_CHANNEL (bthddi.h)
A estrutura _BRB_SCO_OPEN_CHANNEL descreve um canal SCO para abrir em um dispositivo remoto ou uma resposta do driver de perfil aceitando ou rejeitando uma solicitação de conexão SCO de entrada iniciada por um dispositivo remoto.
Sintaxe
struct _BRB_SCO_OPEN_CHANNEL {
BRB_HEADER Hdr;
BTH_ADDR BtAddress;
ULONG TransmitBandwidth;
ULONG ReceiveBandwidth;
USHORT MaxLatency;
USHORT PacketType;
USHORT ContentFormat;
USHORT Reserved;
SCO_RETRANSMISSION_EFFORT RetransmissionEffort;
ULONG ChannelFlags;
ULONG CallbackFlags;
PFNSCO_INDICATION_CALLBACK Callback;
PVOID CallbackContext;
PVOID ReferenceObject;
SCO_CHANNEL_HANDLE ChannelHandle;
UCHAR Response;
};
Membros
Hdr
Uma estrutura BRB_HEADER que contém informações sobre o BRB atual.
BtAddress
O endereço Bluetooth do dispositivo remoto para o qual abrir um canal SCO.
TransmitBandwidth
A largura de banda de transmissão, em bytes por segundo, a ser atribuída ao canal SCO.
ReceiveBandwidth
A largura de banda de recepção, em bytes por segundo, a ser atribuída ao canal SCO.
MaxLatency
Um valor que representa, em milissegundos, o limite superior da soma do intervalo síncrono e o tamanho da janela (e)SCO. Os valores possíveis são listados na tabela a seguir.
Valores | Descrição |
0x0000 0x0003 | Reservado para uso futuro. |
0x0004 0xFFFE | O intervalo de possíveis valores de MaxLatency para o canal. |
0xFFFF | O canal não tem uma configuração de MaxLatency preferencial. |
PacketType
Um sinalizador ou uma combinação de sinalizadores que indicam o tipo de pacotes de dados aos quais a conexão SCO dá suporte. Esses tipos de pacotes SCO são definidos pelo SIG bluetooth. Consulte a especificação bluetooth para obter mais informações sobre esses sinalizadores. Os valores possíveis incluem:
SCO_HV1
SCO_HV2
SCO_HV3
SCO_EV3
SCO_EV4
SCO_EV5
ContentFormat
As configurações de voz de áudio para o canal. Use as seguintes definições para codificar este membro:
- SCO_VS_AIR_CODING_DATA
- SCO_VS_AIR_CODING_FORMAT_ALAW
- SCO_VS_AIR_CODING_FORMAT_CVSD
- SCO_VS_AIR_CODING_FORMAT_MASK
- SCO_VS_AIR_CODING_FORMAT_MULAW
- SCO_VS_IN_CODING_ALAW
- SCO_VS_IN_CODING_LINEAR
- SCO_VS_IN_CODING_MASK
- SCO_VS_IN_CODING_MULAW
- SCO_VS_IN_DATA_FORMAT_1C
- SCO_VS_IN_DATA_FORMAT_2C
- SCO_VS_IN_DATA_FORMAT_MASK
- SCO_VS_IN_DATA_FORMAT_SM
- SCO_VS_IN_DATA_FORMAT_US
- SCO_VS_IN_SAMPLE_SIZE_8BIT
- SCO_VS_IN_SAMPLE_SIZE_16BIT
- SCO_VS_IN_SAMPLE_SIZE_MASK
- SCO_VS_PCM_BIT_POS_MASK
- SCO_VS_SETTING_DEFAULT
Reserved
Reservado para uso futuro. Não use.
RetransmissionEffort
A SCO_RETRANSMISSION_EFFORT valor de enumeração que determina as políticas de retransmissão para o canal.
ChannelFlags
Sinalizadores que especificam os requisitos para o canal a ser aberto. Os valores de sinalizador válidos são listados na tabela a seguir:
Sinalizador | Descrição |
SCO_CF_LINK_AUTHENTICATED | O link deve ser autenticado. |
SCO_CF_LINK_ENCRYPTED | O link deve ser criptografado. Definir esse sinalizador também define o sinalizador SCO_CF_LINK_AUTHENTICATED. |
SCO_CF_LINK_SUPPRESS_PIN | O driver de perfil indica sua preferência de que os usuários não sejam solicitados a fornecer um PIN. |
CallbackFlags
Um sinalizador que especifica quando a função atribuída ao membro de Retorno de Chamada deve ser enviada ao cliente. Atualmente, há apenas um sinalizador válido:
Sinalizador | Descrição |
SCO_CALLBACK_DISCONNECT | O driver de perfil deve ser notificado quando o dispositivo remoto é desconectado. |
Callback
A função de retorno de chamada SCO implementada pelo driver de perfil, que a pilha de driver bluetooth deve chamar para notificar o driver de perfil sobre quaisquer alterações na conexão SCO.
CallbackContext
O contexto a ser passado para a função de retorno de chamada especificada no membro de retorno de chamada. O driver de perfil define esse valor.
ReferenceObject
Um ponteiro para um objeto a ser passado para ObReferenceObject e ObDereferenceObject para o qual manter uma contagem de referência.
ChannelHandle
Um identificador para identificar o canal SCO, se a solicitação de canal aberto for concluída com êxito.
Response
Um sinalizador que indica se o servidor local aceitará ou rejeitará uma conexão SCO de entrada. Esse membro é usado somente ao criar e enviar uma solicitação de BRB_SCO_OPEN_CHANNEL_RESPONSE . Os valores de sinalizador válidos são listados na tabela a seguir.
Sinalizador | Descrição |
---|---|
SCO_CONNECT_RSP_RESPONSE_SUCCESS | O servidor local aceita a solicitação de conexão SCO. |
SCO_CONNECT_RSP_RESPONSE_NO_RESOURCES | O servidor local rejeita a solicitação de conexão SCO devido à falta de recursos. |
SCO_CONNECT_RSP_RESPONSE_SECURITY_BLOCK | O servidor local rejeita a solicitação de conexão SCO porque a solicitação não atende aos requisitos de segurança. |
SCO_CONNECT_RSP_RESPONSE_BAD_BD_ADDR | O servidor local rejeita a solicitação de conexão SCO porque não aceita conexões do endereço do dispositivo Bluetooth especificado. |
Comentários
Para abrir um canal SCO, os drivers de perfil devem criar e enviar uma solicitação BRB_SCO_OPEN_CHANNEL .
Se o link assíncrono sem conexão para o dispositivo remoto não existir antes da solicitação, a pilha de driver Bluetooth criará uma antes de criar o canal SCO.
Para aceitar ou rejeitar uma solicitação de conexão SCO de entrada iniciada por um dispositivo remoto, os drivers de perfil devem criar e enviar um BRB_SCO_OPEN_CHANNEL_RESPONSE solicitação.
Um driver de perfil deve criar e enviar uma solicitação de BRB_SCO_OPEN_CHANNEL_RESPONSE quando a pilha de driver Bluetooth chamar a Função de Retorno de Chamada SCO do driver de perfil e passar ScoIndicationRemoteConnect no parâmetro Indication da função de retorno de chamada.
O driver de perfil especifica se a conexão deve ser aceita armazenando um valor apropriado no membro Response dessa estrutura. Nesse contexto, o sistema local é o servidor.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Versões:_Supported no Windows Vista e posterior. |
Cabeçalho | bthddi.h (inclua Bthddi.h) |