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