USBD_PIPE_INFORMATION

Hi All,

Pl. let me know what is difference between …

MaximumTransferSize (Set by USB client driver) and
MaximumPacketSize (Returned by USB driver) in USBD_PIPE_INFORMATION.

Is client suppose to transfer data to an endpoint of size equal or less than MaximumTransferSize OR MaximumPacketSize.

Thanks in advance.
Anand


Try Juno Platinum for Free! Then, only $9.95/month!
Unlimited Internet Access with 250MB of Email Storage.
Visit http://www.juno.com/value to sign up today!

xxxxx@juno.com wrote:

Hi All,

Pl. let me know what is difference between …

MaximumTransferSize (Set by USB client driver) and

This is the maximum amount of data you can communicate in on USB transfer. A
“transfer” here means that you pass the host driver that much data and it sends
that data autonomously, and only reports back to you once all of the data is
transferred. To actually send the data, it can use several data transactions.

MaximumPacketSize (Returned by USB driver) in USBD_PIPE_INFORMATION.

This is the packet size that the endpoint underlying this pipe supports. That
is to say, each USB bus data transaction will transfer this many bytes between
the endpoint and the host.

So, with the former you set the upper limit on the size of a TRANSFER, while
the latter describes how much data is sent during one TRANSACTION.

Is client suppose to transfer data to an endpoint of size equal or less than MaximumTransferSize OR MaximumPacketSize.

The former.

Burk.

A note on MaximumPacketSize. You should try to send transfers that are
in multiples of MaximumPacketSize (ie buffer length % MaximumPacketSize
== 0), otherwise your device can cause babble on the bus if the size of
the last packet on the schedule is < number of bytes the device
reads/writes. If the protocol you are using to your device does not let
this happen, then this is not an issue for you.

d

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Burkhard Daniel
Sent: Thursday, July 21, 2005 5:35 AM
To: Windows System Software Devs Interest List
Cc: xxxxx@lists.osr.com
Subject: Re:[ntdev] USBD_PIPE_INFORMATION

xxxxx@juno.com wrote:

Hi All,

Pl. let me know what is difference between …

MaximumTransferSize (Set by USB client driver) and

This is the maximum amount of data you can communicate in on USB
transfer. A
“transfer” here means that you pass the host driver that much data and
it sends
that data autonomously, and only reports back to you once all of the
data is
transferred. To actually send the data, it can use several data
transactions.

MaximumPacketSize (Returned by USB driver) in USBD_PIPE_INFORMATION.

This is the packet size that the endpoint underlying this pipe supports.
That
is to say, each USB bus data transaction will transfer this many bytes
between
the endpoint and the host.

So, with the former you set the upper limit on the size of a TRANSFER,
while
the latter describes how much data is sent during one TRANSACTION.

Is client suppose to transfer data to an endpoint of size equal or
less than MaximumTransferSize OR MaximumPacketSize.

The former.

Burk.


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@windows.microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com