Condividi tramite


struttura _BRB_SCO_TRANSFER (bthddi.h)

La struttura _BRB_SCO_TRANSFER descrive un buffer da cui leggere i dati isocroni o scrivere dati isocroni in un canale SCO.

Sintassi

struct _BRB_SCO_TRANSFER {
  BRB_HEADER         Hdr;
  BTH_ADDR           BtAddress;
  SCO_CHANNEL_HANDLE ChannelHandle;
  ULONG              TransferFlags;
  ULONG              BufferSize;
  PVOID              Buffer;
  PMDL               BufferMDL;
  ULONGLONG          DataTag;
};

Members

Hdr

Struttura BRB_HEADER che contiene informazioni sull'oggetto BRB corrente.

BtAddress

Indirizzo Bluetooth del dispositivo remoto.

ChannelHandle

Handle del canale SCO restituito dallo stack di driver Bluetooth in risposta a una richiesta di BRB_SCO_OPEN_CHANNEL o BRB_SCO_OPEN_CHANNEL_RESPONSE precedente.

TransferFlags

Flag che specificano il comportamento di base di BRB. I valori di flag validi sono elencati nella tabella seguente.

Flag Descrizione
SCO_TRANSFER_DIRECTION_IN Se questo bit è impostato, BRB legge i dati isocroni da un dispositivo remoto tramite il canale SCO.
SCO_TRANSFER_DIRECTION_OUT Se questo bit è impostato, BRB scrive i dati isocroni in un dispositivo remoto tramite il canale SCO.

BufferSize

Dimensioni, in byte, del buffer di input descritto dal membro Buffer di questa struttura.

Buffer

Puntatore al buffer di input. Questo valore deve essere NULL quando il membro buffer non viene utilizzato.

BufferMDL

Puntatore al buffer di input MDL. Questo valore deve essere NULL quando il membro BufferMDL non viene utilizzato.

DataTag

Scrittura SCO

Commenti

Per leggere dati isocroni da o scrivere dati isocroni in una connessione SCO, i driver di profilo devono compilare e inviare una richiesta di BRB_SCO_TRANSFER .

Ogni connessione SCO è bidirezionale e può essere letta e scritta contemporaneamente.

I DATABASE di lettura rimarranno in sospeso fino all'arrivo dei dati o fino a quando il driver del profilo non li scarica. È consigliabile che i driver di livello superiore abbiano almeno due BRB di lettura in sospeso aperti in qualsiasi momento per accettare i dati in ingresso dal dispositivo remoto.

Lo stack di driver Bluetooth non fornisce buffering per i dati isocroni in ingresso. Pertanto, un piccolo divario tra il completamento di un IRP di lettura e l'invio del successivo può causare la perdita di dati.

Se Buffer e BufferMDL contengono valori non NULL , BufferMDL ha la precedenza.

Requisiti

Requisito Valore
Client minimo supportato Versioni:_Supported in Windows Vista e versioni successive.
Intestazione bthddi.h (include Bthddi.h)

Vedi anche

BRB_HEADER

BRB_SCO_OPEN_CHANNEL

BRB_SCO_OPEN_CHANNEL_RESPONSE

BRB_SCO_TRANSFER