Compartir a través de


estructura _BRB_L2CA_ACL_TRANSFER (bthddi.h)

La estructura _BRB_L2CA_ACL_TRANSFER describe un búfer para leer datos asincrónicos de o escribir datos asincrónicos en un canal L2CAP.

Sintaxis

struct _BRB_L2CA_ACL_TRANSFER {
  BRB_HEADER           Hdr;
  BTH_ADDR             BtAddress;
  L2CAP_CHANNEL_HANDLE ChannelHandle;
  ULONG                TransferFlags;
  ULONG                BufferSize;
  PVOID                Buffer;
  PMDL                 BufferMDL;
  LONGLONG             Timeout;
  ULONG                RemainingBufferSize;
};

Miembros

Hdr

Estructura BRB_HEADER que contiene información sobre el BRB actual.

BtAddress

Dirección del dispositivo remoto.

ChannelHandle

Identificador del canal L2CAP devuelto por la pila de controladores Bluetooth en respuesta a una BRB_L2CA_OPEN_CHANNEL anterior o BRB_L2CA_OPEN_CHANNEL_RESPONSE solicitud.

TransferFlags

Combinación de marcas que especifica el comportamiento básico de la interfaz. Se pueden establecer varias marcas al mismo tiempo. Los valores de marca válidos se describen en la tabla siguiente:

Bandera Descripción
ACL_SHORT_TRANSFER_OK Si se establece este bit, la operación de lectura se puede completar antes de que el búfer esté lleno. Esto solo se puede establecer en combinación con ACL_TRANSFER_DIRECTION_IN.
ACL_TRANSFER_DIRECTION_IN Si se establece este bit, los datos se recibirán desde el dispositivo remoto. Esta marca no se puede establecer en combinación con ACL_TRANSFER_DIRECTION_OUT.
ACL_TRANSFER_DIRECTION_OUT Si se establece este bit, los datos se enviarán al dispositivo remoto. Esta marca no se puede establecer en combinación con ACL_TRANSFER_DIRECTION_IN.
ACL_TRANSFER_TIMEOUT La operación de lectura se debe detener después del número de milisegundos especificados en el miembro timeout de.

BufferSize

Tamaño, en bytes, del búfer.

Buffer

Puntero al búfer de entrada.

BufferMDL

Puntero al búfer de entrada MDL.

Timeout

La duración, en milisegundos, antes de que se cancele la acción de lectura y se pierdan los datos consumidos en este punto.

RemainingBufferSize

La cantidad de espacio, en bytes, se deja en el búfer después de la llamada BRB.

Observaciones

Para leer datos asincrónicos de o escribir datos asincrónicos en un canal L2CAP, los controladores de perfil deben compilar y enviar una solicitud de BRB_L2CA_ACL_TRANSFER.

Cada conexión L2CAP es bidireccional y se puede leer y escribir simultáneamente.

Si no se especifica ningún tiempo de espera, los BRB asociados a una solicitud de lectura permanecerán pendientes hasta que lleguen los datos o hasta que se cancelen. Los controladores de perfil pueden dejar pendiente una solicitud de lectura para aceptar los datos entrantes del dispositivo remoto.

La pila del controlador Bluetooth proporciona un almacenamiento en búfer de los datos entrantes, por lo que no es necesario comprobar continuamente si hay un IRP de lectura pendiente. Un controlador de perfil puede especificar la cantidad de almacenamiento en búfer que se debe proporcionar en el miembro IncomingQueueDep th asociado a una solicitud de BRB_L2CA_OPEN_CHANNEL.

Si la marca ACL_TRANSFER_TIMEOUT está establecida en el miembro TransferFlags y la duración especificada en el miembro Timeout expira, la solicitud de BRB_L2CA_ACL_TRANSFER se completará y devolverá un error.

Requisitos

Requisito Valor
cliente mínimo admitido Versiones: _Supported en Windows Vista y versiones posteriores.
encabezado de bthddi.h (incluya Bthddi.h)

Consulte también

BRB_HEADER

BRB_L2CA_ACL_TRANSFER

BRB_L2CA_OPEN_CHANNEL

BRB_L2CA_OPEN_CHANNEL_RESPONSE