structure _BRB_SCO_OPEN_CHANNEL (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 acceptant ou rejetant une demande de connexion SCO entrante initiée par un appareil distant.
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;
};
Hdr
Structure BRB_HEADER qui contient des informations sur le BRB actuel.
BtAddress
Adresse Bluetooth de l’appareil distant vers 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 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 une utilisation ultérieure. |
0x0004 à 0xFFFE | Plage de valeurs MaxLatency possibles pour le canal. |
0xFFFF | Le canal n’a pas de paramètre de 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 sont les suivantes :
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 une utilisation ultérieure. N’utilisez pas.
RetransmissionEffort
Un SCO_RETRANSMISSION_EFFORT valeur d’énumération qui détermine les stratégies de retransmission pour le canal.
ChannelFlags
Indicateurs qui spécifient les conditions requises 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 de SCO_CF_LINK_AUTHENTICATED. |
SCO_CF_LINK_SUPPRESS_PIN | Le pilote de profil indique sa préférence que les utilisateurs ne sont 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
La fonction de rappel SCO implémentée par le pilote de profil, que la pile de pilotes Bluetooth doit appeler pour avertir le pilote de profil des modifications apportées à la connexion SCO.
CallbackContext
Contexte à passer à la fonction de rappel spécifiée dans le membre rappel. 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 accepte ou rejette 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.
Drapeau | 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. |
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 une 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 demande de BRB_SCO_OPEN_CHANNEL_RESPONSE lorsque la pile de pilotes Bluetooth appelle la fonction de rappel SCO du pilote de profil et passe ScoIndicationRemoteConnect dans le paramètre d’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 Response membre de cette structure. Dans ce contexte, le système local est le serveur.
Exigence | Valeur |
---|---|
client minimum pris en charge | Versions :_Supported dans Windows Vista et versions ultérieures. |
d’en-tête | bthddi.h (include Bthddi.h) |