USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR structure (usbspec.h)
The USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR structure is used by USB client drivers to retrieve a USB-defined SuperSpeed Endpoint Companion descriptor.
The members of this structure are described in the Universal Serial Bus 3.1 Specification available at USB Document Library. See section 9.6.7.
Syntax
typedef struct _USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR {
UCHAR bLength;
UCHAR bDescriptorType;
UCHAR bMaxBurst;
union {
UCHAR AsUchar;
struct {
UCHAR MaxStreams : 5;
UCHAR Reserved1 : 3;
} Bulk;
struct {
UCHAR Mult : 2;
UCHAR Reserved2 : 5;
UCHAR SspCompanion : 1;
} Isochronous;
} bmAttributes;
USHORT wBytesPerInterval;
} USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR, *PUSB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR;
Members
bLength
Specifies the length, in bytes, of this descriptor.
bDescriptorType
Specifies the descriptor type. Must be set to USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR.
bMaxBurst
Specifies the maximum number of packets that the endpoint can send or receive as a part of a burst.
bmAttributes
bmAttributes.AsUchar
Specifies the length of the structures.
bmAttributes.Bulk
bmAttributes.Bulk.MaxStreams
Specifies the maximum number of streams supported by the bulk endpoint.
bmAttributes.Bulk.Reserved1
Reserved. Do not use.
bmAttributes.Isochronous
bmAttributes.Isochronous.Mult
Specifies a zero-based number that determines the maximum number of packets (bMaxBurst * (Mult + 1)) that can be sent to the endpoint within a service interval.
bmAttributes.Isochronous.Reserved2
Reserved. Do not use.
bmAttributes.Isochronous.SspCompanion
wBytesPerInterval
Number of bytes per interval.
Remarks
A client driver that supports streams associated with a bulk endpoint, uses USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR to get the maximum number of streams supported by the endpoint. That information is required by the client driver in an open-streams request. In the request, the specified value for NumberOfStreams member of the _URB_OPEN_STATIC_STREAMS structure cannot exceed the MaxStreams value reported in USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR. For more information about opening streams, see How to Open and Close Static Streams in a USB Bulk Endpoint.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 8 |
Minimum supported server | None supported |
Header | usbspec.h (include Usbspec.h) |