estrutura _BRB_SCO_TRANSFER (bthddi.h)
A estrutura _BRB_SCO_TRANSFER descreve um buffer para ler dados isocronos ou gravar dados isócronos em um canal SCO.
Sintaxe
struct _BRB_SCO_TRANSFER {
BRB_HEADER Hdr;
BTH_ADDR BtAddress;
SCO_CHANNEL_HANDLE ChannelHandle;
ULONG TransferFlags;
ULONG BufferSize;
PVOID Buffer;
PMDL BufferMDL;
ULONGLONG DataTag;
};
Membros
Hdr
Uma estrutura BRB_HEADER que contém informações sobre o BRB atual.
BtAddress
O endereço Bluetooth do dispositivo remoto.
ChannelHandle
O identificador do canal SCO que foi retornado pela pilha do driver Bluetooth em resposta a uma solicitação de BRB_SCO_OPEN_CHANNEL ou BRB_SCO_OPEN_CHANNEL_RESPONSE anterior.
TransferFlags
Sinalizadores que especificam o comportamento básico do BRB. Os valores de sinalizador válidos são listados na tabela a seguir.
Sinalizador | Descrição |
---|---|
SCO_TRANSFER_DIRECTION_IN | Se esse bit estiver definido, o BRB lerá dados isócronos de um dispositivo remoto por meio do canal SCO. |
SCO_TRANSFER_DIRECTION_OUT | Se esse bit estiver definido, o BRB gravará dados isócronos em um dispositivo remoto por meio do canal SCO. |
BufferSize
O tamanho, em bytes, do buffer de entrada descrito pelo membro buffer dessa estrutura.
Buffer
Um ponteiro para o buffer de entrada. Esse valor deve ser NULL quando o membro buffer não é usado.
BufferMDL
Um ponteiro para o buffer de entrada MDL. Esse valor deve ser NULL quando o membro BufferMDL não for usado.
DataTag
Gravação sco
Comentários
Para ler dados isócronos ou gravar dados isócronos em uma conexão SCO, os drivers de perfil devem criar e enviar uma solicitação de BRB_SCO_TRANSFER .
Cada conexão SCO é bidirecional e pode ser lida e gravada simultaneamente.
Os BRBs de leitura permanecerão pendentes até que os dados cheguem ou até que o driver de perfil os libere. É recomendável que os drivers de nível superior tenham pelo menos dois BRBs de leitura pendentes abertos a qualquer momento para aceitar dados de entrada do dispositivo remoto.
A pilha de driver Bluetooth não fornece nenhum buffer para dados isócronos de entrada. Portanto, uma pequena lacuna entre a conclusão de um IRP de leitura e o envio do próximo pode causar perda de dados.
Se Buffer e BufferMDL contiverem valores não NULL , BufferMDL terá precedência.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Versões:_Supported no Windows Vista e posteriores. |
Cabeçalho | bthddi.h (inclua Bthddi.h) |