USB_PIPE_INFO structure (usbioctl.h)

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.

Syntax

typedef struct _USB_PIPE_INFO {
  USB_ENDPOINT_DESCRIPTOR EndpointDescriptor;
  ULONG                   ScheduleOffset;
} USB_PIPE_INFO, *PUSB_PIPE_INFO;

Members

EndpointDescriptor

Describes the endpoint descriptor. For more information about the endpoint descriptor, see USB_ENDPOINT_DESCRIPTOR.

ScheduleOffset

Indicates 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.

Remarks

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

Requirements

Requirement Value
Header usbioctl.h (include Usbioctl.h)

See also

IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX

USB Structures

USB_ENDPOINT_DESCRIPTOR