структура _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. Если драйвер профиля указывает PSM_INVALID, при выходных данных назначенный PSM будет возвращен в элементе Psm структуры.
Стек драйверов Bluetooth регистрирует PSM для следующих профилей: HCRP, HID, PAN, SDP и RFCOMM.
Дополнительные сведения о серверах L2CAP и PSMs см. в прием подключений 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.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Версии:_Supported в Windows Vista и более поздних версиях. |
заголовка | bthddi.h (include Bthddi.h) |