структура _BRB_SCO_TRANSFER (bthddi.h)
Структура _BRB_SCO_TRANSFER описывает буфер для чтения изохронных данных или записи изохронных данных в канал SCO.
Синтаксис
struct _BRB_SCO_TRANSFER {
BRB_HEADER Hdr;
BTH_ADDR BtAddress;
SCO_CHANNEL_HANDLE ChannelHandle;
ULONG TransferFlags;
ULONG BufferSize;
PVOID Buffer;
PMDL BufferMDL;
ULONGLONG DataTag;
};
Члены
Hdr
Структура BRB_HEADER , содержащая сведения о текущем BRB.
BtAddress
Bluetooth-адрес удаленного устройства.
ChannelHandle
Дескриптор канала SCO, возвращенный стеком драйверов Bluetooth в ответ на более ранний запрос BRB_SCO_OPEN_CHANNEL или BRB_SCO_OPEN_CHANNEL_RESPONSE .
TransferFlags
Флаги, определяющие базовое поведение BRB. Допустимые значения флагов перечислены в следующей таблице.
Flag | Описание |
---|---|
SCO_TRANSFER_DIRECTION_IN | Если этот бит задан, BRB считывает изохронные данные с удаленного устройства через канал SCO. |
SCO_TRANSFER_DIRECTION_OUT | Если этот бит задан, BRB записывает изохронные данные на удаленное устройство через канал SCO. |
BufferSize
Размер (в байтах) входного буфера, описываемого членом буфера этой структуры.
Buffer
Указатель на входной буфер. Если элемент буфера не используется, это значение должно иметь значение NULL.
BufferMDL
Указатель на входной буфер MDL. Если элемент BufferMDL не используется, это значение должно иметь значение NULL.
DataTag
Запись в SCO
Комментарии
Для чтения изохронных данных или записи изохронных данных в подключение SCO драйверы профилей должны создать и отправитьзапрос BRB_SCO_TRANSFER .
Каждое подключение SCO является двунаправленным и может одновременно считываться из и записываться в него.
Чтение BRB будет оставаться в состоянии ожидания до поступления данных или до тех пор, пока драйвер профиля не очистит их. Рекомендуется, чтобы драйверы более высокого уровня в любое время открывали по крайней мере два ожидающих чтения BRB для приема входящих данных с удаленного устройства.
Стек драйверов Bluetooth не обеспечивает буферизацию входящих изохронных данных. Поэтому небольшой разрыв между завершением одного IRP чтения и отправкой следующего может привести к потере данных.
Если buffer и BufferMDL содержат значения, отличные от NULL , то bufferMDL имеет приоритет.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Versions:_Supported в Windows Vista и более поздних версий. |
Верхняя часть | bthddi.h (включая Bthddi.h) |