_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)

Weitere Informationen

BRB_HEADER

BRB_L2CA_OPEN_CHANNEL_RESPONSE

BRB_REGISTER_PSM

BRB_UNREGISTER_PSM

IOCTL_BTH_SDP_REMOVE_RECORD

IOCTL_BTH_SDP_SUBMIT_RECORD