estructura _BRB_SCO_OPEN_CHANNEL (bthddi.h)
La estructura de _BRB_SCO_OPEN_CHANNEL describe un canal SCO para abrirse a un dispositivo remoto o una respuesta del controlador de perfil que acepta o rechaza una solicitud de conexión SCO entrante iniciada por un dispositivo remoto.
Sintaxis
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;
};
Miembros
Hdr
Estructura BRB_HEADER que contiene información sobre el BRB actual.
BtAddress
La dirección Bluetooth del dispositivo remoto a la que abrir un canal SCO.
TransmitBandwidth
Ancho de banda de transmisión, en bytes por segundo, que se asignará al canal SCO.
ReceiveBandwidth
Ancho de banda de recepción, en bytes por segundo, que se asignará al canal SCO.
MaxLatency
Valor que representa, en milisegundos, el límite superior de la suma del intervalo sincrónico y el tamaño de la ventana (e)SCO. Los valores posibles se enumeran en la tabla siguiente.
Valores | Descripción |
0x0000 a 0x0003 | Reservado para uso futuro. |
0x0004 a 0xFFFE | Intervalo de posibles valores MaxLatency para el canal. |
0xFFFF | El canal no tiene una configuración de MaxLatency preferida. |
PacketType
Marca o combinación de marcas que indican el tipo de paquetes de datos que admite la conexión SCO. Estos tipos de paquetes SCO se definen mediante bluetooth SIG. Consulta la especificación bluetooth para obtener más información sobre estas marcas. Los valores posibles son:
SCO_HV1
SCO_HV2
SCO_HV3
SCO_EV3
SCO_EV4
SCO_EV5
ContentFormat
Configuración de voz de audio para el canal. Use las definiciones siguientes para codificar este miembro:
- 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. No debe usarse.
RetransmissionEffort
A SCO_RETRANSMISSION_EFFORT valor de enumeración que determina las directivas de retransmisión para el canal.
ChannelFlags
Marcas que especifican los requisitos para que se abra el canal. Los valores de marca válidos se enumeran en la tabla siguiente:
Marca | Descripción |
SCO_CF_LINK_AUTHENTICATED | El vínculo debe autenticarse. |
SCO_CF_LINK_ENCRYPTED | El vínculo debe cifrarse. Al establecer esta marca también se establece la marca SCO_CF_LINK_AUTHENTICATED. |
SCO_CF_LINK_SUPPRESS_PIN | El controlador de perfil indica su preferencia de que no se pida a los usuarios un PIN. |
CallbackFlags
Marca que especifica cuándo se debe enviar la función asignada al miembro callback al cliente. Actualmente, solo hay una marca válida:
Marca | Descripción |
SCO_CALLBACK_DISCONNECT | Se debe notificar al controlador de perfil cuando se desconecte el dispositivo remoto. |
Callback
La función de devolución de llamada SCO implementada por el controlador de perfil, que la pila del controlador Bluetooth debe llamar para notificar al controlador de perfil los cambios realizados en la conexión SCO.
CallbackContext
Contexto que se va a pasar a la función de devolución de llamada especificada en el miembro Devolución de llamada. El controlador de perfil define este valor.
ReferenceObject
Puntero a un objeto que se va a pasar a ObReferenceObject y ObDereferenceObject para el que se debe mantener un recuento de referencias.
ChannelHandle
Identificador para identificar el canal SCO, si la solicitud de canal abierto se completa correctamente.
Response
Marca que indica si el servidor local aceptará o rechazará una conexión SCO entrante. Este miembro solo se usa al compilar y enviar una solicitud de BRB_SCO_OPEN_CHANNEL_RESPONSE . Los valores de marca válidos se muestran en la tabla siguiente.
Marca | Descripción |
---|---|
SCO_CONNECT_RSP_RESPONSE_SUCCESS | El servidor local acepta la solicitud de conexión SCO. |
SCO_CONNECT_RSP_RESPONSE_NO_RESOURCES | El servidor local rechaza la solicitud de conexión SCO debido a una falta de recursos. |
SCO_CONNECT_RSP_RESPONSE_SECURITY_BLOCK | El servidor local rechaza la solicitud de conexión SCO porque la solicitud no cumple los requisitos de seguridad. |
SCO_CONNECT_RSP_RESPONSE_BAD_BD_ADDR | El servidor local rechaza la solicitud de conexión SCO porque no acepta conexiones de la dirección del dispositivo Bluetooth especificada. |
Comentarios
Para abrir un canal SCO, los controladores de perfil deben compilar y enviar una solicitud de BRB_SCO_OPEN_CHANNEL .
Si el vínculo asincrónico sin conexión al dispositivo remoto no existe antes de la solicitud, la pila del controlador Bluetooth crea una antes de crear el canal SCO.
Para aceptar o rechazar una solicitud de conexión SCO entrante iniciada por un dispositivo remoto, los controladores de perfil deben compilar y enviar un BRB_SCO_OPEN_CHANNEL_RESPONSE solicitud.
Un controlador de perfil debe compilar y enviar una solicitud de BRB_SCO_OPEN_CHANNEL_RESPONSE cuando la pila del controlador Bluetooth llama a la función de devolución de llamada SCO del controlador de perfil y pasa ScoIndicationRemoteConnect en el parámetro De indicación de la función de devolución de llamada.
El controlador de perfil especifica si la conexión debe aceptarse almacenando un valor adecuado en el miembro Response de esta estructura. En este contexto, el sistema local es el servidor.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Versions:_Supported en Windows Vista y versiones posteriores. |
Encabezado | bthddi.h (incluya Bthddi.h) |