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