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
傳送之駐留緩衝區的指標,如果 TransferBufferMDL 中提供 MDL,則為 NULL。 此緩衝區的內容取決於 TransferFlags 的值。 如果指定USBD_TRANSFER_DIRECTION_IN,此緩衝區將會包含從 HCD 傳回時從裝置讀取的數據。 否則,此緩衝區包含要傳送至裝置的驅動程式提供數據。
[in, optional] transferBufferMDL
描述駐留緩衝區的 MDL 指標,如果在 TransferBuffer 中提供緩衝區,則為 NULL。 緩衝區的內容取決於 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 (包含 Usbdlib.h) |