Partager via


_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

BRB_HEADER

BRB_L2CA_REGISTER_SERVER

BRB_L2CA_UNREGISTER_SERVER

Fonction de rappel L2CAP

ObDereferenceObject

ObReferenceObject