Прием подключений SCO в драйвере профиля Bluetooth
Драйвер профиля SCO может зарегистрировать себя для ответа на входящие запросы на подключение к синхронным Connection-Oriented (SCO) с удаленных устройств. Например, драйвер профиля SCO для устройства профиля беспроводной телефонии (CTP) отвечает на входящий запрос на подключение SCO от устройства CTP, принимая или отклоняя запрос. Если драйвер профиля сервера принимает запрос, драйвер профиля сервера реагирует на входные данные с устройства и передает эти входные данные в стек драйверов Bluetooth.
Драйверы профилей сервера должны выполнить следующие действия, чтобы принимать входящие запросы на подключение SCO от удаленных устройств Bluetooth.
Получение входящих запросов на подключение SCO от удаленных устройств
Драйверы профилей должны создавать и отправлятьBRB_SCO_REGISTER_SERVER запрос на регистрацию функции обратного вызова SCO в стеке драйверов Bluetooth, чтобы стек уведомлял драйвер профиля о входящих запросах на подключение SCO.
Когда стек драйверов Bluetooth получает входящий запрос на подключение SCO от удаленного устройства, он вызывает функцию обратного вызова SCO , зарегистрированную ранее драйвером профиля. Стек драйверов Bluetooth передает значение ScoIndicationRemoteConnect в параметр Индикация функции обратного вызова.
Чтобы отвечать на входящие запросы на подключение, драйверы профилей должны создать и отправить запрос BRB_SCO_OPEN_CHANNEL_RESPONSE . В зависимости от значения элемента Response структуры _BRB_SCO_OPEN_CHANNEL , переданной с этим запросом, драйвер профиля сервера принимает или отклоняет запрос на подключение.
Если драйвер профиля сервера принимает подключение, стек драйверов Bluetooth может вызвать функцию обратного вызова SCO , как указано в элементе обратного вызова структуры _BRB_SCO_OPEN_CHANNEL , чтобы уведомить драйвер профиля сервера о любых изменениях в подключении SCO.
После того как драйвер профиля примет запрос на подключение, он может использовать другие blob-файлы для отправки и получения данных через только что созданное подключение SCO.
Чтобы прекратить получение уведомлений о попытках подключения SCO удаленного устройства, драйверы профиля должны создать и отправитьзапрос BRB_SCO_UNREGISTER_SERVER на отмену регистрации сервера, когда драйвер профиля обрабатывает IRP_MN_REMOVE_DEVICE Plug and Play удалить уведомления.
Дополнительные сведения об уведомлениях и функциях обратного вызова см. в разделе Поддержка уведомлений о событиях Bluetooth.