Partager via


PFNSCO_INDICATION_CALLBACK fonction de rappel (bthddi.h)

Les pilotes de profil implémentent une fonction de rappel SCO pour fournir à la pile de pilotes Bluetooth un mécanisme permettant d’informer le pilote de profil des demandes de connexion SCO entrantes provenant d’appareils distants et de toute modification apportée au status d’une connexion SCO actuellement ouverte.

Syntaxe

PFNSCO_INDICATION_CALLBACK PfnscoIndicationCallback;

void PfnscoIndicationCallback(
  [in] PVOID Context,
  [in] SCO_INDICATION_CODE Indication,
  [in] PSCO_INDICATION_PARAMETERS Parameters
)
{...}

Paramètres

[in] Context

Pour les indications de demande de connexion à distance entrante, il s’agit du contexte spécifié par le pilote de profil dans le membre IndicationCallbackContext de la structure _BRB_SCO_REGISTER_SERVER lorsque le pilote de profil a inscrit la fonction de rappel. Pour les modifications apportées aux connexions SCO existantes, il s’agit du membre CallbackContext spécifié par le pilote de profil lors de la génération et de l’envoi d’un BRB_SCO_OPEN_CHANNEL BRB.

[in] Indication

Valeur SCO_INDICATION_CODE qui indique le type d’événement SCO.

[in] Parameters

A SCO_INDICATION_PARAMETERS structure qui contient des informations de paramètre basées sur la valeur passée au paramètre Indication .

Valeur de retour

None

Remarques

Le membre BtAddress trouvé dans la structure SCO_INDICATION_PARAMETERS passée dans le paramètre Parameters indique l’adresse Bluetooth de l’appareil distant.

La fonction PFNSCO_INDICATION_CALLBACK peut être inscrite de deux manières.

Dans le premier cas, le pilote de profil fait office de serveur et doit inscrire cette fonction de rappel via le membre IndicationCallback de la structure _BRB_SCO_REGISTER_SERVER . La pile de pilotes Bluetooth peut ensuite appeler cette fonction pour avertir le pilote de profil lorsqu’un périphérique distant tente de le contacter.

Dans le deuxième cas, le pilote de profil agit en tant que client et tente de se connecter à un appareil distant à l’aide du BRB_SCO_OPEN_CHANNEL BRB. La fonction de rappel PFNSCO_INDICATION_CALLBACK est inscrite via le membre Callback de la structure _BRB_SCO_OPEN_CHANNEL passée avec le BRB spécifié lorsque l’un d’entre eux est envoyé via IOCTL_INTERNAL_BTH_SUBMIT_BRB.

Une fois inscrite, la fonction de rappel est uniquement associée au canal ouvert par le BRB, et la fonction avertit le pilote de profil des actions qui se produisent sur le canal ouvert pour l’appareil distant. Les pilotes de profil peuvent inscrire une seule fonction pour gérer les notifications de canal en tant que client et _BRB_SCO_REGISTER_SERVER les notifications en tant que serveur.

La structure SCO_INDICATION_PARAMETERS contenue dans le paramètre Parameters est interprétée en fonction de la valeur SCO_INDICATION_CODE passée à la fonction de rappel via le paramètre Indication . Pour la plupart des notifications, il existe un membre d’union SCO_INDICATION_PARAMETERS qui correspond à l’événement et contient des paramètres spécifiques à l’événement.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Versions :_Supported dans Windows Vista et versions ultérieures.
Plateforme cible Desktop (Expérience utilisateur)
En-tête bthddi.h (inclure Bthddi.h)
IRQL Les développeurs doivent coder cette fonction pour fonctionner dans IRQL = DISPATCH_LEVEL (si la fonction de rappel n’accède pas à la mémoire paginée) ou IRQL = PASSIVE_LEVEL (si la fonction de rappel doit accéder à la mémoire paginée)

Voir aussi

BRB_SCO_OPEN_CHANNEL

IOCTL_INTERNAL_BTH_SUBMIT_BRB

SCO_INDICATION_CODE

SCO_INDICATION_PARAMETERS

_BRB_SCO_REGISTER_SERVER