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;
};

Membri

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.

Bandiera 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 non viene utilizzato il membro buffer.

BufferMDL

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

DataTag

Scrittura SCO

Osservazioni

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.

Le brb 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 sia buffer che buffer contengono valori nullnon, bufferMDL ha la precedenza.

Fabbisogno

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

Vedere anche

BRB_HEADER

BRB_SCO_OPEN_CHANNEL

BRB_SCO_OPEN_CHANNEL_RESPONSE

BRB_SCO_TRANSFER