структура _BRB_L2CA_REGISTER_SERVER (bthddi.h)
Драйвер профиля использует структуру _BRB_L2CA_REGISTER_SERVER для регистрации себя в качестве сервера, способного принимать подключения L2CAP с удаленных устройств Bluetooth.
Синтаксис
struct _BRB_L2CA_REGISTER_SERVER {
BRB_HEADER Hdr;
BTH_ADDR BtAddress;
USHORT PSM;
ULONG IndicationFlags;
PFNBTHPORT_INDICATION_CALLBACK IndicationCallback;
PVOID IndicationCallbackContext;
PVOID ReferenceObject;
OUT L2CAP_SERVER_HANDLE ServerHandle;
};
Члены
Hdr
Структура BRB_HEADER , содержащая сведения о текущем BRB.
BtAddress
Адрес удаленного устройства Bluetooth для получения уведомлений. Укажите BTH_ADDR_NULL для получения уведомлений о входящих подключениях.
PSM
Протокол/сервисный мультиплексор (PSM), который принимает запросы на подключение.
IndicationFlags
Необязательный флаг или сочетание флагов, указывающее, будет ли драйвер профиля принимать уведомления о связывании в дополнение к уведомлениям о подключении. В следующей таблице перечислены возможные параметры флагов.
Flag | Описание |
---|---|
INDICATION_PAIR_DEVICE | Драйвер профиля будет принимать уведомления при связывании устройства. |
INDICATION_UNPAIR_DEVICE | Драйвер профиля будет принимать уведомления, когда устройство не работает. |
INDICATION_UNPERSONALIZE_DEVICE | Драйвер профиля будет принимать уведомления, когда устройство не является личные. |
IndicationCallback
Функция обратного вызова L2CAP, реализованная драйвером профиля, которую должен вызывать стек драйверов Bluetooth для уведомления драйвера профиля о входящих подключениях L2CAP.
IndicationCallbackContext
Контекст, передаваемый в функцию обратного вызова, указанную в элементе IndicationCallback .
ReferenceObject
Указатель на объект, передаваемый в функции ObReferenceObject и ObDereferenceObject для поддержания счетчика ссылок. Драйверы профиля должны предоставлять этот объект таким образом, чтобы стек драйверов Bluetooth увеличивал число объектов до тех пор, пока стек драйверов может вызывать функцию обратного вызова, указанную в элементе IndicationCallback . Стек драйверов Bluetooth уменьшает число ссылок объекта, когда драйвер профиля создает и отправляет запрос BRB_L2CA_UNREGISTER_SERVER .
ServerHandle
При успешном возвращении дескриптор на сервер L2CAP. Когда драйвер профиля больше не должен получать признаки удаленного подключения, он должен передать этот дескриптор в BRB_L2CA_UNREGISTER_SERVER.
Комментарии
Чтобы зарегистрировать себя в качестве сервера L2CAP, драйвер профиля должен создать и отправить запрос BRB_L2CA_REGISTER_SERVER .
После того как драйвер профиля зарегистрирует себя, он должен выполнить сборку и отправитьзапрос BRB_REGISTER_PSM , чтобы стек драйверов Bluetooth принимал подключения из PSM.
В случае успешного выполнения стек драйверов Bluetooth может уведомить драйвер профиля, когда удаленные устройства пытаются создать подключение L2CAP к драйверу профиля на определенном PSM.
Драйвер профиля может указать ноль в psm-член структуры _BRB_L2CA_REGISTER_SERVER, что означает, что PSM не указан, и впоследствии драйвер профиля выдаст BRB_REGISTER_PSM BRB, чтобы получить динамический PSM для регистрации для уведомлений о подключении. Дополнительные сведения о ПМС см. в разделе _BRB_PSM.
После регистрации драйвера профиля стек драйверов Bluetooth может уведомить его, когда удаленное устройство пытается подключиться к нему, вызвав функцию обратного вызова L2CAP , которую драйвер профиля реализует и указывает в элементе IndicationCallback .
Дополнительные сведения о серверах L2CAP и PSM см. в статье Принятие Connections L2CAP в драйвере профиля Bluetooth.
Когда драйвер профиля получает уведомление о попытке подключения, он должен выполнить сборку и отправить BRB_L2CA_OPEN_CHANNEL_RESPONSE BRB, чтобы принять или отклонить попытку подключения. Дополнительные сведения о принятии или отклонении попыток подключения L2CAP см. в разделе структура _BRB_L2CA_OPEN_CHANNEL .
После установки подключения драйвер профиля может выдавать другие blob-файлы для связи с удаленным устройством.
Чтобы прекратить получение уведомлений об удаленном подключении, драйвер профиля должен выполнить сборку и отправить запрос BRB_L2CA_UNREGISTER_SERVER .
Хотя эта процедура позволяет драйверу профиля принимать входящие запросы на подключение, он не объявляет службу автоматически с помощью SDP. Чтобы объявить службу с помощью SDP, драйвер профиля должен отправить запись SDP с помощью API SDP. Дополнительные сведения о рекламных службах с помощью SDP см. в разделе Взаимодействие с серверами SDP.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Versions:_Supported в Windows Vista и более поздних версиях. |
Верхняя часть | bthddi.h (включая Bthddi.h) |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по