_BRB_PSM Struktur (bthddi.h)
Die _BRB_PSM-Struktur beschreibt einen Protokoll-/Dienst multiplexer (PSM) zum Registrieren oder Aufheben der Registrierung.
Syntax
struct _BRB_PSM {
BRB_HEADER Hdr;
USHORT Psm;
};
Member
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 zu registrieren versucht. Wenn der Profiltreiber diesen Wert auf 0 festlegt, wird der PSM dynamisch generiert. Wenn der Profiltreiber für BRB_REGISTER_PSM Eingabe null angegeben hat, enthält dieses Element bei der 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 der PSM, den der Profiltreiber aufzuheben versucht. 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-Steuerung: 0x11
HID-Daten: 0x13
BNEP: 0x0F
Hinweise
Um einen PSM zu registrieren, sollten Profiltreiber eine BRB_REGISTER_PSM Anforderung erstellen und senden.
Nachdem ein PSM registriert wurde, kann der Profiltreiber Verbindungsbenachrichtigungen von Remotegeräten empfangen und erstellen und senden. BRB_L2CA_OPEN_CHANNEL_RESPONSE Anforderungen, um eingehende Verbindungen zu akzeptieren.
Der Profiltreiber kann einen bestimmten PSM angeben oder anfordern, dass ein PSM dynamisch generiert wird, indem er PSM_INVALID im Psm-Element angibt. Wenn der Profiltreiber PSM_INVALID angibt, wird bei der Ausgabe der zugewiesene PSM im Psm-Element 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-Connections in einem Bluetooth-Profiltreiber.
Profiltreiber können keinen PSM registrieren, der bereits von einem anderen Treiber registriert wurde. Wenn dies versucht wird, 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 das PSM über SDP ankündigen, indem sie die IOCTL_BTH_SDP_SUBMIT_RECORD IOCTL.
Um die Registrierung eines zuvor registrierten PSM aufzuheben, sollten Profiltreiber eine BRB_UNREGISTER_PSM Anforderung erstellen und 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-Member 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 |
---|---|
Unterstützte Mindestversion (Client) | Versionen:_Supported in Windows Vista und höher. |
Kopfzeile | bthddi.h (include Bthddi.h) |