_BRB_L2CA_REGISTER_SERVER structure (bthddi.h)
Un pilote de profil utilise la structure _BRB_L2CA_REGISTER_SERVER pour s’inscrire en tant que serveur capable de recevoir des connexions L2CAP à partir de périphériques Bluetooth distants.
Syntaxe
struct _BRB_L2CA_REGISTER_SERVER {
BRB_HEADER Hdr;
BTH_ADDR BtAddress;
USHORT PSM;
ULONG IndicationFlags;
PFNBTHPORT_INDICATION_CALLBACK IndicationCallback;
PVOID IndicationCallbackContext;
PVOID ReferenceObject;
OUT L2CAP_SERVER_HANDLE ServerHandle;
};
Membres
Hdr
Structure BRB_HEADER qui contient des informations sur le BRB actuel.
BtAddress
Adresse de l’appareil Bluetooth distant pour lequel recevoir des notifications. Spécifiez BTH_ADDR_NULL pour recevoir une notification pour toutes les connexions entrantes.
PSM
Multiplexeur de protocole/service (PSM) qui accepte les demandes de connexion.
IndicationFlags
Indicateur facultatif ou combinaison d’indicateurs qui indique si le pilote de profil acceptera les notifications de jumelage en plus des notifications de connexion. Le tableau suivant répertorie les paramètres d’indicateur possibles.
Indicateur | Description |
---|---|
INDICATION_PAIR_DEVICE | Le pilote de profil accepte les notifications lorsqu’un appareil est associé. |
INDICATION_UNPAIR_DEVICE | Le pilote de profil accepte les notifications lorsqu’un appareil n’est pas apparié. |
INDICATION_UNPERSONALIZE_DEVICE | Le pilote de profil accepte les notifications lorsqu’un appareil n’est pas personnel. |
IndicationCallback
Fonction de rappel L2CAP, implémentée par le pilote de profil, que la pile de pilotes Bluetooth doit appeler pour informer le pilote de profil des connexions L2CAP entrantes.
IndicationCallbackContext
Contexte à passer à la fonction de rappel spécifiée dans le membre IndicationCallback .
ReferenceObject
Pointeur vers un objet à passer aux fonctions ObReferenceObject et ObDereferenceObject pour conserver un nombre de références. Les pilotes de profil doivent fournir cet objet de manière à ce que la pile de pilotes Bluetooth puisse augmenter le nombre de l’objet tant que la pile de pilotes peut appeler la fonction de rappel spécifiée dans le membre IndicationCallback . La pile de pilotes Bluetooth diminue le nombre de références de l’objet lorsque le pilote de profil génère et envoie un BRB_L2CA_UNREGISTER_SERVER demande.
ServerHandle
Gérez vers le serveur L2CAP, en cas de retour réussi. Lorsque le pilote de profil ne doit plus recevoir d’indications de connexion à distance, il doit passer ce handle à BRB_L2CA_UNREGISTER_SERVER.
Remarques
Pour s’inscrire en tant que serveur L2CAP, un pilote de profil doit générer et envoyer un BRB_L2CA_REGISTER_SERVER demande.
Une fois que le pilote de profil s’est inscrit, il doit générer et envoyer une demande de BRB_REGISTER_PSM afin que la pile de pilotes Bluetooth accepte les connexions du PSM.
En cas de réussite, la pile de pilotes Bluetooth peut alors notifier le pilote de profil lorsque des appareils distants tentent de créer une connexion L2CAP au pilote de profil sur un PSM particulier.
Un pilote de profil peut spécifier zéro le membre Psm de la structure _BRB_L2CA_REGISTER_SERVER(ce qui signifie que le psM n’est pas spécifié) et le pilote de profil émettra par la suite un BRB_REGISTER_PSM BRB pour obtenir un psM dynamique pour s’inscrire aux notifications de connexion. Pour plus d’informations sur les modules PSM, consultez _BRB_PSM.
Une fois que le pilote de profil s’est inscrit, la pile de pilotes Bluetooth peut l’avertir lorsqu’un appareil distant tente de s’y connecter en appelant la fonction de rappel L2CAP que le pilote de profil implémente et spécifie dans le membre IndicationCallback .
Pour plus d’informations sur les serveurs L2CAP et les modules PSM, consultez Acceptation des Connections L2CAP dans un pilote de profil Bluetooth.
Lorsque le pilote de profil reçoit la notification d’une tentative de connexion, il doit générer et envoyer un BRB_L2CA_OPEN_CHANNEL_RESPONSE BRB pour accepter ou rejeter la tentative de connexion. Pour plus d’informations sur l’acceptation ou le rejet des tentatives de connexion L2CAP, consultez la structure _BRB_L2CA_OPEN_CHANNEL .
Une fois qu’une connexion est établie, le pilote de profil peut émettre d’autres BBR pour communiquer avec le périphérique distant.
Pour arrêter de recevoir des notifications de connexion à distance, un pilote de profil doit générer et envoyer un BRB_L2CA_UNREGISTER_SERVER demande.
Bien que cette procédure permette à un pilote de profil d’accepter les demandes de connexion entrantes, elle ne publie pas automatiquement un service à l’aide de SDP. Pour publier un service à l’aide de SDP, un pilote de profil doit envoyer un enregistrement SDP à l’aide des API SDP. Pour plus d’informations sur les services publicitaires avec SDP, consultez Communication avec les serveurs SDP.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Versions :_Supported dans Windows Vista et versions ultérieures. |
En-tête | bthddi.h (inclure Bthddi.h) |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour