struttura _BRB_SCO_OPEN_CHANNEL (bthddi.h)
La struttura _BRB_SCO_OPEN_CHANNEL descrive un canale SCO da aprire a un dispositivo remoto o una risposta del driver del profilo che accetta o rifiuta una richiesta di connessione SCO in ingresso avviata da un dispositivo remoto.
Sintassi
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;
};
Members
Hdr
Struttura BRB_HEADER che contiene informazioni sull'oggetto BRB corrente.
BtAddress
Indirizzo Bluetooth del dispositivo remoto in cui aprire un canale SCO.
TransmitBandwidth
Larghezza di banda di trasmissione, in byte al secondo, da assegnare al canale SCO.
ReceiveBandwidth
Larghezza di banda di ricezione, in byte al secondo, da assegnare al canale SCO.
MaxLatency
Valore che rappresenta, in millisecondi, il limite superiore della somma dell'intervallo sincrono e le dimensioni della finestra (e)SCO. I valori possibili sono elencati nella tabella seguente.
Valori | Descrizione |
0x0000 a 0x0003 | Riservato per utilizzi futuri. |
0x0004 a 0xFFFE | Intervallo dei possibili valori maxLatency per il canale. |
0xFFFF | Il canale non ha un'impostazione di MaxLatency preferita. |
PacketType
Flag o combinazione di flag che indicano il tipo di pacchetti di dati supportati dalla connessione SCO. Questi tipi di pacchetti SCO sono definiti dal sig Bluetooth. Per altre informazioni su questi flag, vedere la specifica Bluetooth. I valori possibili sono:
SCO_HV1
SCO_HV2
SCO_HV3
SCO_EV3
SCO_EV4
SCO_EV5
ContentFormat
Impostazioni vocali audio per il canale. Usare le definizioni seguenti per codificare questo membro:
- 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
Riservato per utilizzi futuri. Non usare.
RetransmissionEffort
Una SCO_RETRANSMISSION_EFFORT valore di enumerazione che determina i criteri di ritrasmissione per il canale.
ChannelFlags
Flag che specificano i requisiti per l'apertura del canale. I valori di flag validi sono elencati nella tabella seguente:
Bandiera | Descrizione |
SCO_CF_LINK_AUTHENTICATED | Il collegamento deve essere autenticato. |
SCO_CF_LINK_ENCRYPTED | Il collegamento deve essere crittografato. L'impostazione di questo flag imposta anche il flag di SCO_CF_LINK_AUTHENTICATED. |
SCO_CF_LINK_SUPPRESS_PIN | Il driver del profilo indica la preferenza che gli utenti non devono essere richiesti per un PIN. |
CallbackFlags
Flag che specifica quando la funzione assegnata al membro callback deve essere inviata al client. Attualmente è presente un solo flag valido:
Bandiera | Descrizione |
SCO_CALLBACK_DISCONNECT | Il driver del profilo deve ricevere una notifica quando il dispositivo remoto è disconnesso. |
Callback
La funzione di callback SCO implementata dal driver del profilo, che lo stack di driver Bluetooth deve chiamare per notificare al driver del profilo eventuali modifiche alla connessione SCO.
CallbackContext
Contesto da passare alla funzione di callback specificata nel membro Callback . Il driver del profilo definisce questo valore.
ReferenceObject
Puntatore a un oggetto di cui passare ObReferenceObject e ObDereferenceObject per cui mantenere un conteggio dei riferimenti.
ChannelHandle
Handle per identificare il canale SCO, se la richiesta del canale aperto viene completata correttamente.
Response
Flag che indica se il server locale accetterà o rifiuterà una connessione SCO in ingresso. Questo membro viene usato solo quando si compila e si invia una richiesta di BRB_SCO_OPEN_CHANNEL_RESPONSE . I valori di flag validi sono elencati nella tabella seguente.
Flag | Descrizione |
---|---|
SCO_CONNECT_RSP_RESPONSE_SUCCESS | Il server locale accetta la richiesta di connessione SCO. |
SCO_CONNECT_RSP_RESPONSE_NO_RESOURCES | Il server locale rifiuta la richiesta di connessione sco a causa di una mancanza di risorse. |
SCO_CONNECT_RSP_RESPONSE_SECURITY_BLOCK | Il server locale rifiuta la richiesta di connessione SCO perché la richiesta non soddisfa i requisiti di sicurezza. |
SCO_CONNECT_RSP_RESPONSE_BAD_BD_ADDR | Il server locale rifiuta la richiesta di connessione SCO perché non accetta connessioni dall'indirizzo del dispositivo Bluetooth specificato. |
Commenti
Per aprire un canale SCO, i driver di profilo devono compilare e inviare una richiesta di BRB_SCO_OPEN_CHANNEL .
Se il collegamento asincrono senza connessione al dispositivo remoto non esiste prima della richiesta, lo stack di driver Bluetooth ne crea uno prima di creare il canale SCO.
Per accettare o rifiutare una richiesta di connessione SCO in ingresso avviata da un dispositivo remoto, i driver di profilo devono compilare e inviare un BRB_SCO_OPEN_CHANNEL_RESPONSE richiesta.
Un driver di profilo deve compilare e inviare una richiesta di BRB_SCO_OPEN_CHANNEL_RESPONSE quando lo stack di driver Bluetooth chiama la funzione di callback SCO del driver del profilo e passa ScoIndicationRemoteConnect nel parametro Indication della funzione di callback.
Il driver del profilo specifica se la connessione deve essere accettata archiviando un valore appropriato nel membro Response di questa struttura. In questo contesto, il sistema locale è il server.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Versioni:_Supported in Windows Vista e versioni successive. |
Intestazione | bthddi.h (include Bthddi.h) |