Поделиться через


Макрос UsbBuildInterruptOrBulkTransferRequest (usbdlib.h)

Макрос USBBuildInterruptOrBulkTransferRequest форматирует URB для отправки или получения данных на массовом канале или получения данных из канала прерывания.

Синтаксис

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

Параметры

[in, out] urb

Указатель на URB форматировать как прерывание или массовый запрос на передачу.

[in] length

Задает размер URBв байтах.

[in] pipeHandle

Указывает дескриптор для этого канала, возвращаемый HCD при выборе конфигурации.

[in, optional] transferBuffer

Указатель на буфер резидента для передачи или null, если MDL предоставляется в TransferBufferMDL. Содержимое этого буфера зависит от значения TransferFlags. Если указан USBD_TRANSFER_DIRECTION_IN, этот буфер будет содержать данные, считываемые с устройства при возврате из HCD. В противном случае этот буфер содержит предоставленные драйвером данные для передачи на устройство.

[in, optional] transferBufferMDL

Указатель на MDL, описывающий буфер резидента или значение NULL, если буфер предоставляется в TransferBuffer. Содержимое буфера зависит от значения TransferFlags. Если указана USBD_TRANSFER_DIRECTION_IN, описанный буфер будет содержать данные, считываемые с устройства при возврате из HCD. В противном случае буфер содержит предоставленные драйвером данные для передачи на устройство. MDL должен быть выделен из непагированного пула.

[in] transferBufferLength

Указывает длину буфера, указанного в TransferBuffer или описанном в TransferBufferMDL.

[in] transferFlags

Указывает ноль, один или сочетание следующих флагов:

USBD_TRANSFER_DIRECTION_IN

Устанавливается для запроса данных с устройства. Чтобы передать данные на устройство, этот флаг должен быть снят.

USBD_SHORT_TRANSFER_OK

Можно использовать, если задано USBD_TRANSFER_DIRECTION_IN. Если задано, то HCD не возвращает ошибку, если пакет получен от устройства, который короче максимального размера пакета для конечной точки. В противном случае короткий запрос возвращает условие ошибки.

[in] link

Скрытный. Необходимо задать значение NULL.

Возвращаемое значение

Никакой

Требования

Требование Ценность
целевая платформа Настольный
заголовка usbdlib.h (include Usbdlib.h)

См. также

URB

справочник по программированию драйверов USB-устройств

USB_DEVICE_DESCRIPTOR