_BRB_SCO_OPEN_CHANNEL structure (bthddi.h)

La structure _BRB_SCO_OPEN_CHANNEL décrit un canal SCO à ouvrir sur un appareil distant, ou une réponse du pilote de profil qui accepte ou rejette une demande de connexion SCO entrante initiée par un appareil distant.

Syntaxe

struct _BRB_SCO_OPEN_CHANNEL {
  BRB_HEADER                 Hdr;
  BTH_ADDR                   BtAddress;
  ULONG                      TransmitBandwidth;
  ULONG                      ReceiveBandwidth;
  USHORT                     MaxLatency;
  USHORT                     PacketType;
  USHORT                     ContentFormat;
  USHORT                     Reserved;
  SCO_RETRANSMISSION_EFFORT  RetransmissionEffort;
  ULONG                      ChannelFlags;
  ULONG                      CallbackFlags;
  PFNSCO_INDICATION_CALLBACK Callback;
  PVOID                      CallbackContext;
  PVOID                      ReferenceObject;
  SCO_CHANNEL_HANDLE         ChannelHandle;
  UCHAR                      Response;
};

Membres

Hdr

Structure BRB_HEADER qui contient des informations sur le BRB actuel.

BtAddress

Adresse Bluetooth de l’appareil distant sur lequel ouvrir un canal SCO.

TransmitBandwidth

Bande passante de transmission, en octets par seconde, à affecter au canal SCO.

ReceiveBandwidth

Bande passante de réception, en octets par seconde, à affecter au canal SCO.

MaxLatency

Valeur qui représente, en millisecondes, la limite supérieure de la somme de l’intervalle synchrone et de la taille de la fenêtre (e)SCO. Les valeurs possibles sont répertoriées dans le tableau suivant.

Valeurs Description
0x0000 à 0x0003 Réservé pour un usage futur.
0x0004 à 0xFFFE Plage de valeurs MaxLatency possibles pour le canal.
0xFFFF Le canal n’a pas de paramètre MaxLatency préféré.

PacketType

Indicateur ou combinaison d’indicateurs qui indiquent le type de paquets de données pris en charge par la connexion SCO. Ces types de paquets SCO sont définis par bluetooth SIG. Pour plus d’informations sur ces indicateurs, consultez la spécification Bluetooth. Les valeurs possibles incluent :

SCO_HV1

SCO_HV2

SCO_HV3

SCO_EV3

SCO_EV4

SCO_EV5

ContentFormat

Paramètres vocaux audio pour le canal. Utilisez les définitions suivantes pour encoder ce membre :

SCO_VS_AIR_CODING_DATA
SCO_VS_AIR_CODING_FORMAT_ALAW
SCO_VS_AIR_CODING_FORMAT_CVSD
SCO_VS_AIR_CODING_FORMAT_MASK
SCO_VS_AIR_CODING_FORMAT_MULAW
SCO_VS_IN_CODING_ALAW
SCO_VS_IN_CODING_LINEAR
SCO_VS_IN_CODING_MASK
SCO_VS_IN_CODING_MULAW
SCO_VS_IN_DATA_FORMAT_1C
SCO_VS_IN_DATA_FORMAT_2C
SCO_VS_IN_DATA_FORMAT_MASK
SCO_VS_IN_DATA_FORMAT_SM
SCO_VS_IN_DATA_FORMAT_US
SCO_VS_IN_SAMPLE_SIZE_8BIT
SCO_VS_IN_SAMPLE_SIZE_16BIT
SCO_VS_IN_SAMPLE_SIZE_MASK
SCO_VS_PCM_BIT_POS_MASK
SCO_VS_SETTING_DEFAULT

Reserved

Réservé pour un usage futur. Ne pas utiliser.

RetransmissionEffort

A SCO_RETRANSMISSION_EFFORT valeur d’énumération qui détermine les stratégies de retransmission pour le canal.

ChannelFlags

Indicateurs qui spécifient la configuration requise pour l’ouverture du canal. Les valeurs d’indicateur valides sont répertoriées dans le tableau suivant :

Indicateur Description
SCO_CF_LINK_AUTHENTICATED Le lien doit être authentifié.
SCO_CF_LINK_ENCRYPTED Le lien doit être chiffré. La définition de cet indicateur définit également l’indicateur SCO_CF_LINK_AUTHENTICATED.
SCO_CF_LINK_SUPPRESS_PIN Le pilote de profil indique qu’il préfère que les utilisateurs ne soient pas invités à entrer un code confidentiel.

CallbackFlags

Indicateur qui spécifie quand la fonction affectée au membre de rappel doit être envoyée au client. Actuellement, il n’existe qu’un seul indicateur valide :

Indicateur Description
SCO_CALLBACK_DISCONNECT Le pilote de profil doit être averti lorsque l’appareil distant est déconnecté.

Callback

Fonction de rappel SCO implémentée par le pilote de profil, que la pile de pilotes Bluetooth doit appeler pour informer le pilote de profil de toute modification apportée à la connexion SCO.

CallbackContext

Contexte à passer à la fonction de rappel spécifiée dans le membre Callback . Le pilote de profil définit cette valeur.

ReferenceObject

Pointeur vers un objet à passer à ObReferenceObject et ObDereferenceObject pour lequel conserver un nombre de références.

ChannelHandle

Handle permettant d’identifier le canal SCO, si la demande de canal ouvert se termine correctement.

Response

Indicateur qui indique si le serveur local acceptera ou rejettera une connexion SCO entrante. Ce membre est utilisé uniquement lors de la génération et de l’envoi d’une demande de BRB_SCO_OPEN_CHANNEL_RESPONSE . Les valeurs d’indicateur valides sont répertoriées dans le tableau suivant.

Indicateur Description
SCO_CONNECT_RSP_RESPONSE_SUCCESS Le serveur local accepte la demande de connexion SCO.
SCO_CONNECT_RSP_RESPONSE_NO_RESOURCES Le serveur local rejette la demande de connexion SCO en raison d’un manque de ressources.
SCO_CONNECT_RSP_RESPONSE_SECURITY_BLOCK Le serveur local rejette la demande de connexion SCO, car la demande ne répond pas aux exigences de sécurité.
SCO_CONNECT_RSP_RESPONSE_BAD_BD_ADDR Le serveur local rejette la demande de connexion SCO, car il n’accepte pas les connexions à partir de l’adresse d’appareil Bluetooth spécifiée.

Remarques

Pour ouvrir un canal SCO, les pilotes de profil doivent générer et envoyer une demande de BRB_SCO_OPEN_CHANNEL .

Si le lien asynchrone sans connexion vers l’appareil distant n’existe pas avant la demande, la pile de pilotes Bluetooth en crée un avant de créer le canal SCO.

Pour accepter ou rejeter une demande de connexion SCO entrante lancée par un appareil distant, les pilotes de profil doivent générer et envoyer un BRB_SCO_OPEN_CHANNEL_RESPONSE demande.

Un pilote de profil doit générer et envoyer une requête BRB_SCO_OPEN_CHANNEL_RESPONSE lorsque la pile de pilotes Bluetooth appelle la fonction de rappel SCO du pilote de profil et transmet ScoIndicationRemoteConnect dans le paramètre Indication de la fonction de rappel.

Le pilote de profil spécifie si la connexion doit être acceptée en stockant une valeur appropriée dans le membre Response de cette structure. Dans ce contexte, le système local est le serveur.

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_SCO_OPEN_CHANNEL

BRB_SCO_OPEN_CHANNEL_RESPONSE

ObDereferenceObject

ObReferenceObject

Fonction de rappel SCO

SCO_RETRANSMISSION_EFFORT