структура _BRB_SCO_OPEN_CHANNEL (bthddi.h)
Структура _BRB_SCO_OPEN_CHANNEL описывает канал SCO для открытия удаленного устройства или ответа от драйвера профиля, принимаюющего или отклоняющего входящий запрос на подключение SCO, инициированный удаленным устройством.
Синтаксис
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;
};
Члены
Hdr
Структура BRB_HEADER, содержащая сведения о текущем BRB.
BtAddress
Адрес Bluetooth удаленного устройства для открытия канала SCO.
TransmitBandwidth
Пропускная способность передачи в байтах в секунду, назначенная каналу SCO.
ReceiveBandwidth
Пропускная способность приема (в байтах в секунду), назначаемая каналу SCO.
MaxLatency
Значение, представляющее в миллисекундах, верхний предел суммы синхронного интервала и размера окна (e)SCO. Возможные значения перечислены в следующей таблице.
значения | описание |
0x0000 0x0003 | Зарезервировано для дальнейшего использования. |
0x0004 0xFFFE | Диапазон возможных значений MaxLatency для канала. |
0xFFFF | Канал не имеет предпочтительного параметра MaxLatency. |
PacketType
Флаг или сочетание флагов, указывающих тип пакетов данных, поддерживаемых подключением SCO. Эти типы пакетов SCO определяются SIG Bluetooth. Дополнительные сведения об этих флагах см. в спецификации Bluetooth. Возможные значения:
SCO_HV1
SCO_HV2
SCO_HV3
SCO_EV3
SCO_EV4
SCO_EV5
ContentFormat
Параметры голосовой связи для канала. Используйте следующие определения для кодирования этого элемента:
- 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
Зарезервировано для дальнейшего использования. Не используйте.
RetransmissionEffort
A SCO_RETRANSMISSION_EFFORT значение перечисления, определяющее политики повторной передачи для канала.
ChannelFlags
Флаги, указывающие требования, необходимые для открытия канала. Допустимые значения флага перечислены в следующей таблице:
флаг | описание |
SCO_CF_LINK_AUTHENTICATED | Ссылка должна пройти проверку подлинности. |
SCO_CF_LINK_ENCRYPTED | Ссылка должна быть зашифрована. Установка этого флага также задает флаг SCO_CF_LINK_AUTHENTICATED. |
SCO_CF_LINK_SUPPRESS_PIN | Драйвер профиля указывает, что пользователям не предлагается пин-код. |
CallbackFlags
Флаг, указывающий, когда функция, назначенная элементу обратного вызова, должна быть отправлена клиенту. В настоящее время существует только один допустимый флаг:
флаг | описание |
SCO_CALLBACK_DISCONNECT | Драйвер профиля должен быть уведомлен при отключении удаленного устройства. |
Callback
Функция обратного вызова SCO реализована драйвером профиля, что стек драйверов Bluetooth должен вызывать уведомление драйвера профиля о любых изменениях подключения SCO.
CallbackContext
Контекст для передачи функции обратного вызова, указанной в элементе обратного вызова. Драйвер профиля определяет это значение.
ReferenceObject
Указатель на объект для передачи ObReferenceObject и ObDereferenceObject, для которого требуется сохранить количество ссылок.
ChannelHandle
Дескриптор для идентификации канала SCO, если запрос открытого канала успешно завершается.
Response
Флаг, указывающий, будет ли локальный сервер принимать или отклонять входящее подключение SCO. Этот элемент используется только при создании и отправке запроса BRB_SCO_OPEN_CHANNEL_RESPONSE. Допустимые значения флага перечислены в следующей таблице.
Флаг | Описание |
---|---|
SCO_CONNECT_RSP_RESPONSE_SUCCESS | Локальный сервер принимает запрос на подключение SCO. |
SCO_CONNECT_RSP_RESPONSE_NO_RESOURCES | Локальный сервер отклоняет запрос на подключение SCO из-за нехватки ресурсов. |
SCO_CONNECT_RSP_RESPONSE_SECURITY_BLOCK | Локальный сервер отклоняет запрос на подключение SCO, так как запрос не соответствует требованиям безопасности. |
SCO_CONNECT_RSP_RESPONSE_BAD_BD_ADDR | Локальный сервер отклоняет запрос на подключение SCO, так как он не принимает подключения из указанного адреса устройства Bluetooth. |
Замечания
Чтобы открыть канал SCO, драйверы профилей должны сборку и отправить запрос BRB_SCO_OPEN_CHANNEL.
Если асинхронная ссылка без подключения к удаленному устройству не существует до запроса, стек драйверов Bluetooth создает один перед созданием канала SCO.
Чтобы принять или отклонить входящий запрос на подключение SCO, инициированный удаленным устройством, драйверы профилей должны сборку и отправитьзапрос BRB_SCO_OPEN_CHANNEL_RESPONSE.
Драйвер профиля должен создавать и отправлять запрос BRB_SCO_OPEN_CHANNEL_RESPONSE, когда стек драйверов Bluetooth вызывает функцию обратного вызова SCO и передает ScoIndicationRemoteConnect в параметре функции обратного вызова.
Драйвер профиля указывает, следует ли принимать подключение, сохраняя соответствующее значение в элементе Response этой структуры. В этом контексте локальная система является сервером.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Версии:_Supported в Windows Vista и более поздних версиях. |
заголовка | bthddi.h (include Bthddi.h) |