// usbioctl.h
typedef struct _USB_PIPE_INFO {
USB_ENDPOINT_DESCRIPTOR EndpointDescriptor;
ULONG ScheduleOffset;
} USB_PIPE_INFO, *PUSB_PIPE_INFO;
View the official Windows Driver Kit DDI referenceNo description available.
The USB_PIPE_INFO structure is used in conjunction with the USB_NODE_CONNECTION_INFORMATION_EX structure and the IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX request to obtain information about a connection and its associated pipes.
EndpointDescriptorDescribes the endpoint descriptor. For more information about the endpoint descriptor, see USB_ENDPOINT_DESCRIPTOR.
ScheduleOffsetIndicates the schedule offset assigned to the endpoint for this pipe. See the remarks section for a discussion of the range of values that this member can take.
The USB specification labels isochronous and interrupt transfers as "periodic," because certain periods of transmission time are set aside for these types of transfers. The port driver further divides these periods into "schedule offsets" and distributes the available offsets between those endpoints that are doing periodic transfers. The number of offsets that are available depends on the period. The following table lists the offset values that are available for each period.
| Period | Available Offsets |
|---|---|
| 1 | 0 |
| 2 | 0 to 1 |
| 4 | 0 to 3 |
| 8 | 0 to 7 |
| 16 | 0 to 15 |
| 32 | 0 to 31 |
IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX