структура _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 определяются bluetooth SIG. Дополнительные сведения об этих флагах см. в спецификации 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
Флаг, указывающий, когда функция, назначенная члену callback , должна быть отправлена клиенту. В настоящее время существует только один допустимый флаг:
Пометить | Описание |
SCO_CALLBACK_DISCONNECT | Драйвер профиля должен получать уведомление о отключении удаленного устройства. |
Callback
Функция обратного вызова SCO, реализованная драйвером профиля, которую должен вызывать стек драйверов Bluetooth, чтобы уведомить драйвер профиля о любых изменениях в подключении SCO.
CallbackContext
Контекст для передачи функции обратного вызова, указанной в элементе Callback . Это значение определяется драйвером профиля.
ReferenceObject
Указатель на объект, передаваемый в ObReferenceObject и ObDereferenceObject , для которых требуется сохранить количество ссылок.
ChannelHandle
Дескриптор для идентификации канала SCO в случае успешного завершения запроса открытого канала.
Response
Флаг, указывающий, будет ли локальный сервер принимать или отклонять входящее подключение SCO. Этот элемент используется только при создании и отправке запроса BRB_SCO_OPEN_CHANNEL_RESPONSE . Допустимые значения флагов перечислены в следующей таблице.
Flag | Описание |
---|---|
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 в параметре Indication функции обратного вызова.
Драйвер профиля указывает, следует ли принимать подключение, сохраняя соответствующее значение в элементе Response этой структуры. В этом контексте локальная система является сервером.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Versions:_Supported в Windows Vista и более поздних версиях. |
Верхняя часть | bthddi.h (включая Bthddi.h) |