Acceptation de connexions SCO dans un pilote de profil Bluetooth
Un pilote de profil SCO peut s’inscrire pour répondre aux demandes de connexion synchrone Connection-Oriented (SCO) entrantes provenant d’appareils distants. Par exemple, un pilote de profil SCO pour un appareil de profil de téléphonie sans fil (CTP) répond à une demande de connexion SCO entrante à partir de l’appareil CTP, acceptant ou rejetant la demande. Si le pilote de profil serveur accepte la demande, le pilote de profil serveur répond à l’entrée de l’appareil et passe cette entrée à la pile de pilotes Bluetooth.
Les pilotes de profil de serveur doivent effectuer les étapes suivantes pour accepter les demandes de connexion SCO entrantes provenant d’appareils Bluetooth distants.
Pour recevoir des demandes de connexion SCO entrantes à partir d’appareils distants
Les pilotes de profil doivent générer et envoyer une BRB_SCO_REGISTER_SERVER demande d’inscription d’une fonction de rappel SCO auprès de la pile de pilotes Bluetooth afin que la pile puisse notifier le pilote de profil des demandes de connexion SCO entrantes.
Lorsque la pile de pilotes Bluetooth reçoit une demande de connexion SCO entrante à partir d’un appareil distant, elle appelle la fonction de rappel SCO inscrite précédemment par le pilote de profil. La pile de pilotes Bluetooth transmet la valeur ScoIndicationRemoteConnect au paramètre Indication de la fonction de rappel.
Pour répondre aux demandes de connexion entrantes, les pilotes de profil doivent générer et envoyer une demande BRB_SCO_OPEN_CHANNEL_RESPONSE . En fonction de la valeur du membre Response de la structure _BRB_SCO_OPEN_CHANNEL passée avec cette demande, le pilote de profil serveur accepte ou rejette la demande de connexion.
Si le pilote de profil serveur accepte la connexion, la pile de pilotes Bluetooth peut alors appeler la fonction de rappel SCO comme spécifié dans le membre de rappel de la structure _BRB_SCO_OPEN_CHANNEL pour informer le pilote de profil serveur de toute modification apportée à la connexion SCO.
Une fois que le pilote de profil accepte une demande de connexion, il peut utiliser d’autres BRB pour envoyer et recevoir des données via la connexion SCO nouvellement établie.
Pour arrêter de recevoir des notifications de tentatives de connexion SCO d’appareil distant, les pilotes de profil doivent générer et envoyer une demande BRB_SCO_UNREGISTER_SERVER de désinscription d’un serveur lorsque le pilote de profil traite IRP_MN_REMOVE_DEVICE Plug-and-Play supprimer des notifications.
Pour plus d’informations sur les notifications et les fonctions de rappel, consultez Prise en charge des notifications d’événements Bluetooth.