共用方式為


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

傳送的常駐緩衝區指標,如果 MDL 是在 transferBufferMDL中提供,則為 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)

另請參閱

URB

USB 設備驅動器程式設計參考

USB_DEVICE_DESCRIPTOR