---
title: IOUSBStandardEndpointDescriptors
framework: usbdriverkit
role: symbol
role_heading: Structure
path: usbdriverkit/iousbstandardendpointdescriptors
---

# IOUSBStandardEndpointDescriptors

Encapsulates the descriptors for a single endpoint.

## Declaration

```occ
struct IOUSBStandardEndpointDescriptors;
```

## Discussion

Discussion Use this structure to intialize and adjust pipes in the system. You must initialize the bcdUSB member to the USB revision supported by the device. Acceptable values are 0x0110, 0x0200, 0x0300, 0x0310. Initialize the descriptor field with a pointer to a valid endpoint descriptor. The ssCompanionDescriptor and sspCompanionDescriptor fields may be required for USB versions 0x0300 and greater, depending on device operating speed and values set in the descriptors. For more information on when you must use these descriptors, see section 9.5 of the USB 3.1 specification.

## Topics

### Getting the Descriptors

- [bcdUSB](usbdriverkit/iousbstandardendpointdescriptors/bcdusb.md)
- [descriptor](usbdriverkit/iousbstandardendpointdescriptors/descriptor.md)
- [ssCompanionDescriptor](usbdriverkit/iousbstandardendpointdescriptors/sscompaniondescriptor.md)
- [sspCompanionDescriptor](usbdriverkit/iousbstandardendpointdescriptors/sspcompaniondescriptor.md)

## See Also

### Getting the Endpoint Descriptors

- [GetDescriptors](usbdriverkit/iousbhostpipe/getdescriptors.md)
- [IOUSBGetEndpointDescriptorOptions](usbdriverkit/iousbgetendpointdescriptoroptions.md)
