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

См. также раздел

BRB_HEADER

BRB_L2CA_REGISTER_SERVER

BRB_L2CA_UNREGISTER_SERVER

Функция обратного вызова L2CAP

ObDereferenceObject

ObReferenceObject