Freigeben über


_BRB_PSM Struktur (bthddi.h)

Die _BRB_PSM-Struktur beschreibt ein Protokoll-/Dienst-Multiplexer (PSM), um die Registrierung zu registrieren oder aufzuheben.

Syntax

struct _BRB_PSM {
  BRB_HEADER Hdr;
  USHORT     Psm;
};

Angehörige

Hdr

Eine BRB_HEADER Struktur, die Informationen zum aktuellen BRB enthält.

Psm

Wenn die _BRB_PSM-Struktur als Eingabe für einen BRB_REGISTER_PSM BRB-Aufruf übergeben wird, ist dies der PSM, den der Profiltreiber registriert. Wenn der Profiltreiber diesen Wert auf Null festlegt, wird der PSM dynamisch generiert. Wenn der Profiltreiber bei BRB_REGISTER_PSM Eingabe null angegeben hat, enthält dieses Element für die Ausgabe das PSM, das registriert wurde.

Wenn die _BRB_PSM Struktur als Eingabe für einen BRB_UNREGISTER_PSM BRB-Aufruf übergeben wird, ist dies die PSM, die der Profiltreiber versucht, die Registrierung aufzuheben. Dieser Wert muss ein PSM sein, das derzeit registriert ist. Weitere Informationen zu gültigen PSM-Werten finden Sie im Abschnitt "Hinweise".

Einige PSMs sind für die Verwendung durch Windows reserviert:

SDP: 0x01

RFCOMM: 0x03

HID-Steuerelement: 0x11

HID-Daten: 0x13

BNEP: 0x0F

Bemerkungen

Um eine PSM zu registrieren, sollten Profiltreiber erstellen und eine BRB_REGISTER_PSM Anforderung senden.

Nachdem ein PSM registriert wurde, kann der Profiltreiber Verbindungsbenachrichtigungen von Remotegeräten empfangen und erstellen und senden BRB_L2CA_OPEN_CHANNEL_RESPONSE Anforderungen zum Annehmen eingehender Verbindungen.

Der Profiltreiber kann einen bestimmten PSM angeben oder anfordern, dass ein PSM dynamisch generiert wird, indem PSM_INVALID im Psm Mitglied angegeben wird. Wenn der Profiltreiber PSM_INVALID angibt, wird die zugewiesene PSM-Ausgabe im Psm Mitglied der Struktur zurückgegeben.

Der Bluetooth-Treiberstapel registriert PSMs für die folgenden Profile: HCRP, HID, PAN, SDP und RFCOMM.

Weitere Informationen zu L2CAP-Servern und PSMs finden Sie unter Akzeptieren von L2CAP-Verbindungen in einem Bluetooth Profile Driver.

Profiltreiber können keine PSM registrieren, die bereits von einem anderen Treiber registriert wurden. Wenn einer versucht, dies zu tun, wird ein STATUS_ALREADY_COMMITTED Fehler zurückgegeben. Die BRB_REGISTER_PSM-Anforderung hat keine Auswirkungen auf SDP-Datensätze. Nach der Registrierung eines PSM können Treiber die PSM über SDP bewerben, indem sie die IOCTL_BTH_SDP_SUBMIT_RECORD IOCTL.

Um die Registrierung eines zuvor registrierten PSM aufzuheben, sollten Profiltreiber erstellen und eine BRB_UNREGISTER_PSM Anforderung senden. Profiltreiber müssen einen PSM angeben, der derzeit registriert ist. Wenn ein Profiltreiber eine BRB_REGISTER_PSM Anforderung mit dem Wert Null im Psm--Mitglied sendet, sollte der dynamisch zugewiesene PSM-Wert in der BRB_UNREGISTER_PSM Anforderung übergeben werden.

Eine BRB_UNREGISTER_PSM Anforderung hat keine Auswirkungen auf SDP-Datensätze, die versuchen, eine Verbindung mit dem PSM herzustellen. Profiltreiber können relevante SDP-Einträge entfernen, indem sie die IOCTL_BTH_SDP_REMOVE_RECORD IOCTL.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Versionen:_Supported in Windows Vista und höher.
Header- bthddi.h (include Bthddi.h)

Siehe auch

BRB_HEADER

BRB_L2CA_OPEN_CHANNEL_RESPONSE

BRB_REGISTER_PSM

BRB_UNREGISTER_PSM

IOCTL_BTH_SDP_REMOVE_RECORD

IOCTL_BTH_SDP_SUBMIT_RECORD