estructura _BRB_SCO_TRANSFER (bthddi.h)
La estructura _BRB_SCO_TRANSFER describe un búfer para leer datos isócronos de o escribir datos isócronos en un canal SCO.
Sintaxis
struct _BRB_SCO_TRANSFER {
BRB_HEADER Hdr;
BTH_ADDR BtAddress;
SCO_CHANNEL_HANDLE ChannelHandle;
ULONG TransferFlags;
ULONG BufferSize;
PVOID Buffer;
PMDL BufferMDL;
ULONGLONG DataTag;
};
Miembros
Hdr
Estructura BRB_HEADER que contiene información sobre el BRB actual.
BtAddress
La dirección Bluetooth del dispositivo remoto.
ChannelHandle
Identificador de canal SCO devuelto por la pila de controladores Bluetooth en respuesta a una solicitud anterior de BRB_SCO_OPEN_CHANNEL o BRB_SCO_OPEN_CHANNEL_RESPONSE .
TransferFlags
Marcas que especifican el comportamiento básico del BRB. Los valores de marca válidos se muestran en la tabla siguiente.
Marca | Descripción |
---|---|
SCO_TRANSFER_DIRECTION_IN | Si se establece este bit, BRB lee datos isócronos de un dispositivo remoto a través del canal SCO. |
SCO_TRANSFER_DIRECTION_OUT | Si se establece este bit, BRB escribe datos isócronos en un dispositivo remoto a través del canal SCO. |
BufferSize
Tamaño, en bytes, del búfer de entrada descrito por el miembro Buffer de esta estructura.
Buffer
Puntero al búfer de entrada. Este valor debe ser NULL cuando no se usa el miembro buffer .
BufferMDL
Puntero al búfer de entrada MDL. Este valor debe ser NULL cuando no se usa el miembro BufferMDL .
DataTag
Escritura de SCO
Comentarios
Para leer datos isócronos de o escribir datos isócronos en una conexión SCO, los controladores de perfil deben compilar y enviar una solicitud de BRB_SCO_TRANSFER .
Cada conexión SCO es bidireccional y se puede leer y escribir simultáneamente.
Las BRB de lectura permanecerán pendientes hasta que lleguen los datos o hasta que el controlador de perfil los vacíe. Se recomienda que los controladores de nivel superior tengan al menos dos BRB de lectura pendientes abiertos en cualquier momento para aceptar los datos entrantes del dispositivo remoto.
La pila del controlador Bluetooth no proporciona ningún almacenamiento en búfer para los datos isócronos entrantes. Por lo tanto, una pequeña brecha entre la finalización de un IRP de lectura y el envío de la siguiente puede provocar la pérdida de datos.
Si Buffer y BufferMDL contienen valores que no son NULL , BufferMDL tiene prioridad.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Versions:_Supported en Windows Vista y versiones posteriores. |
Encabezado | bthddi.h (incluya Bthddi.h) |