структура _BRB_PSM (bthddi.h)

Структура _BRB_PSM описывает мультиплексор протокола или службы (PSM) для регистрации или отмены регистрации.

Синтаксис

struct _BRB_PSM {
  BRB_HEADER Hdr;
  USHORT     Psm;
};

Члены

Hdr

Структура BRB_HEADER , содержащая сведения о текущем BRB.

Psm

Когда структура _BRB_PSM передается в качестве входных данных для вызова BRB_REGISTER_PSM BRB, это PSM, который пытается зарегистрировать драйвер профиля. Если драйвер профиля задает это значение равным нулю, PSM создается динамически. Если драйвер профиля указал ноль для BRB_REGISTER_PSM входных данных, в выходных данных этот элемент содержит зарегистрированный PSM.

Когда структура _BRB_PSM передается в качестве входных данных для вызова BRB_UNREGISTER_PSM BRB, это psm, который драйвер профиля пытается отменить регистрацию. Это значение должно быть зарегистрированным в настоящее время PSM. Дополнительные сведения о допустимых значениях PSM см. в разделе Примечания.

Некоторые PSM зарезервированы для использования Windows:

SDP: 0x01

RFCOMM: 0x03

Элемент управления HID: 0x11

Данные HID: 0x13

BNEP: 0x0F

Комментарии

Чтобы зарегистрировать PSM, драйверы профилей должны создать и отправитьзапрос BRB_REGISTER_PSM .

После регистрации PSM драйвер профиля может получать уведомления о подключении с удаленных устройств, а также выполнять сборку и отправку. BRB_L2CA_OPEN_CHANNEL_RESPONSE запросы на прием входящих подключений.

Драйвер профиля может указать конкретный PSM или запросить динамическое создание PSM, указав PSM_INVALID в элементе Psm . Если драйвер профиля указывает PSM_INVALID, то в выходных данных назначенный PSM объект возвращается в элементе Psm структуры.

Стек драйверов Bluetooth регистрирует PSM для следующих профилей: HCRP, HID, PAN, SDP и RFCOMM.

Дополнительные сведения о серверах L2CAP и PSM см. в статье Прием Connections L2CAP в драйвере профиля Bluetooth.

Драйверы профилей не могут зарегистрировать PSM, уже зарегистрированный другим драйвером. При попытке этого будет возвращена ошибка STATUS_ALREADY_COMMITTED. Запрос BRB_REGISTER_PSM не влияет на записи SDP. После регистрации PSM драйверы могут объявить PSM через SDP, отправив IOCTL_BTH_SDP_SUBMIT_RECORD IOCTL.

Чтобы отменить регистрацию ранее зарегистрированного PSM, драйверы профилей должны создать и отправитьзапрос BRB_UNREGISTER_PSM . Драйверы профилей должны указывать зарегистрированный в данный момент PSM. Если драйвер профиля отправляет запрос BRB_REGISTER_PSM со значением ноль в элементе Psm , динамически назначенное значение PSM должно быть передано в запросе BRB_UNREGISTER_PSM.

Запрос BRB_UNREGISTER_PSM не влияет на записи SDP, которые пытаются подключиться к PSM. Драйверы профилей могут удалять соответствующие записи SDP, отправляя IOCTL_BTH_SDP_REMOVE_RECORD IOCTL.

Требования

Требование Значение
Минимальная версия клиента Versions:_Supported в Windows Vista и более поздних версий.
Верхняя часть bthddi.h (включая Bthddi.h)

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

BRB_HEADER

BRB_L2CA_OPEN_CHANNEL_RESPONSE

BRB_REGISTER_PSM

BRB_UNREGISTER_PSM

IOCTL_BTH_SDP_REMOVE_RECORD

IOCTL_BTH_SDP_SUBMIT_RECORD