Поделиться через


структура _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)

См. также

BRB_HEADER

BRB_SCO_OPEN_CHANNEL

BRB_SCO_OPEN_CHANNEL_RESPONSE

ObDereferenceObject

ObReferenceObject

функции обратного вызова SCO

SCO_RETRANSMISSION_EFFORT