Compartir a través de


Macro UsbBuildInterruptOrBulkTransferRequest (usbdlib.h)

La macro USBBuildInterruptOrBulkTransferRequest da formato a un URB de para enviar o recibir datos en una canalización masiva o para recibir datos de una canalización de interrupción.

Sintaxis

void UsbBuildInterruptOrBulkTransferRequest(
  [in, out]       urb,
  [in]            length,
  [in]            pipeHandle,
  [in, optional]  transferBuffer,
  [in, optional]  transferBufferMDL,
  [in]            transferBufferLength,
  [in]            transferFlags,
  [in]            link
);

Parámetros

[in, out] urb

Puntero a un urb de que se va a formatear como una solicitud de interrupción o transferencia masiva.

[in] length

Especifica el tamaño, en bytes, del URB.

[in] pipeHandle

Especifica el identificador de esta canalización devuelta por HCD cuando se seleccionó una configuración.

[in, optional] transferBuffer

Puntero a un búfer residente para la transferencia o se NULL si se proporciona una MDL en TransferBufferMDL. El contenido de este búfer depende del valor de TransferFlags. Si se especifica USBD_TRANSFER_DIRECTION_IN, este búfer contendrá datos leídos del dispositivo a cambio de HCD. De lo contrario, este búfer contiene los datos proporcionados por el controlador que se van a transferir al dispositivo.

[in, optional] transferBufferMDL

Puntero a una MDL que describe un búfer residente o NULL si se proporciona un búfer en TransferBuffer. El contenido del búfer depende del valor de TransferFlags. Si se especifica USBD_TRANSFER_DIRECTION_IN, el búfer descrito contendrá datos leídos del dispositivo a cambio de HCD. De lo contrario, el búfer contiene los datos proporcionados por el controlador que se van a transferir al dispositivo. La MDL debe asignarse desde un grupo no paginado.

[in] transferBufferLength

Especifica la longitud, en bytes, del búfer especificado en TransferBuffer o descrito en TransferBufferMDL.

[in] transferFlags

Especifica cero, uno o una combinación de las marcas siguientes:

USBD_TRANSFER_DIRECTION_IN

Se establece para solicitar datos desde un dispositivo. Para transferir datos a un dispositivo, esta marca debe estar desactivada.

USBD_SHORT_TRANSFER_OK

Se puede usar si se establece USBD_TRANSFER_DIRECTION_IN. Si se establece, dirige el HCD para que no devuelva un error si se recibe un paquete del dispositivo que es más corto que el tamaño máximo del paquete para el punto de conexión. De lo contrario, una solicitud corta devuelve una condición de error.

[in] link

Reservado. Debe establecerse en NULL.

Valor devuelto

Ninguno

Requisitos

Requisito Valor
de la plataforma de destino de Escritorio
encabezado de usbdlib.h (include Usbdlib.h)

Consulte también

urb de

referencia de programación del controlador de dispositivo USB

USB_DEVICE_DESCRIPTOR