This is retired content. This content is outdated and is no
longer being maintained. It is provided as a courtesy for
individuals who are still using these technologies. This content
may contain URLs that were valid when originally published, but now
link to sites or pages that no longer exist.
This structure contains general information about USB
The address of the endpoint on the USB device described by this
structure. Endpoint addresses are encoded as follows: bits 0..3 are
the endpoint number, bits 4..6 are reserved and should be 0, bit 7
is the direction of data flow. Data flow of 0 indicates an output
endpoint, 1 indicates an input endpoint.
A two-bit map describing the endpoint's transfer type. 0x00
represents a control endpoint, 0x01 is an isochronous endpoint,
0x02 is a bulk endpoint, and 0x03 is an interrupt-driven endpoint.
The maximum packet size in bytes that this endpoint can send or
Interval length, in milliseconds, that the USB system should
wait between polling attempts to determine if an interrupt has
occurred. For bulk and control endpoints, this value is ignored.
Isochronous endpoints must have a
bIntervalvalue of 1. Interrupt-driven endpoints can use any
value from 1 to 255 inclusive.
A USB_ENDPOINT structure is always returned as part of the
configuration information returned by a request for configuration
information. However, endpoint 0 never has a USB_ENDPOINT