Compartir a través de


Macro UsbBuildInterruptOrBulkTransferRequest (usbdlib.h)

La macro UsbBuildInterruptOrBulkTransferRequest da formato a un URB 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 al que se va a dar formato 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 el HCD cuando se seleccionó una configuración.

[in, optional] transferBuffer

Puntero a un búfer residente para la transferencia o es 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á los 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 es 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á los 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

None

Requisitos

Requisito Value
Plataforma de destino Escritorio
Encabezado usbdlib.h (incluya Usbdlib.h)

Consulte también

URB

Referencia de programación del controlador de dispositivo USB

USB_DEVICE_DESCRIPTOR