Vue d’ensemble de la communication avec les serveurs SDP
La pile de pilotes Bluetooth prend en charge le protocole SDP (Service Discovery Protocol). Ce protocole permet aux pilotes de profil de rechercher ou de rechercher les services offerts par les appareils Bluetooth qui sont à portée de la radio locale. SDP utilise le protocole L2CAP (Logical Link Control and Adaptation Protocol) comme protocole de transport et suit un modèle client-serveur.
Un service est une entité qui peut fournir des informations, effectuer une action ou contrôler une ressource pour le compte d’une autre entité. Un service peut être implémenté en tant que logiciel, matériel ou une combinaison de matériel et de logiciel. L’enregistrement de service se compose entièrement d’une liste d’attributs de service.
Une fois qu’un pilote de profil de serveur L2CAP s’est inscrit lui-même pour accepter les demandes de connexion L2CAP entrantes, il peut publier ses services avec le protocole SDP à l’aide de IOCTL_BTH_SDP_SUBMIT_RECORD ou de IOCTL_BTH_SDP_SUBMIT_RECORD_WITH_INFO. Chaque enregistrement SDP est envoyé en tant que flux. Si le pilote de profil utilise IOCTL_BTH_SDP_SUBMIT_RECORD_WITH_INFO, il ajoute une structure BTH_SDP_RECORD au flux brut, qui contient des attributs supplémentaires qui ne font pas partie de l’enregistrement SDP lui-même. Il s’agit notamment des exigences de sécurité pour un client demandeur, des options de publication pour l’enregistrement SDP, des informations de classe d’appareil (CoD), de la longueur de l’enregistrement et de l’enregistrement lui-même.
Une fois que le pilote de profil a publié ses services, d’autres appareils Bluetooth peuvent rechercher ou rechercher ces services. Pour plus d’informations sur les services SDP, consultez Accès aux informations du service SDP.
Pour arrêter les services de publicité avec SDP, un pilote de profil utilise IOCTL_BTH_SDP_REMOVE_RECORD.