Макрос 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.
Возвращаемое значение
None
Требования
Требование | Значение |
---|---|
Целевая платформа | Персональный компьютер |
Верхняя часть | usbdlib.h (включая Usbdlib.h) |