---
title: Descriptor Utilities
framework: usbdriverkit
role: collectionGroup
role_heading: API Collection
path: usbdriverkit/descriptor-utilities
---

# Descriptor Utilities

Iterate over the descriptors of a USB device and fetch specific values.

## Topics

### Configuration Descriptors

- [IOUSBGetNextDescriptor](usbdriverkit/iousbgetnextdescriptor.md)
- [IOUSBGetNextDescriptorWithType](usbdriverkit/iousbgetnextdescriptorwithtype.md)
- [IOUSBGetNextAssociatedDescriptor](usbdriverkit/iousbgetnextassociateddescriptor.md)
- [IOUSBGetNextAssociatedDescriptorWithType](usbdriverkit/iousbgetnextassociateddescriptorwithtype.md)
- [IOUSBGetConfigurationMaxPowerMilliAmps](usbdriverkit/iousbgetconfigurationmaxpowermilliamps.md)

### Interface Descriptors

- [IOUSBGetNextInterfaceDescriptor](usbdriverkit/iousbgetnextinterfacedescriptor.md)
- [IOUSBGetNextInterfaceAssociationDescriptor](usbdriverkit/iousbgetnextinterfaceassociationdescriptor.md)

### Endpoint Descriptors

- [IOUSBGetNextEndpointDescriptor](usbdriverkit/iousbgetnextendpointdescriptor.md)
- [IOUSBGetEndpointAddress](usbdriverkit/iousbgetendpointaddress.md)
- [IOUSBGetEndpointBurstSize](usbdriverkit/iousbgetendpointburstsize.md)
- [IOUSBGetEndpointDirection](usbdriverkit/iousbgetendpointdirection.md)
- [IOUSBGetEndpointIntervalEncodedMicroframes](usbdriverkit/iousbgetendpointintervalencodedmicroframes.md)
- [IOUSBGetEndpointIntervalFrames](usbdriverkit/iousbgetendpointintervalframes.md)
- [IOUSBGetEndpointIntervalMicroframes](usbdriverkit/iousbgetendpointintervalmicroframes.md)
- [IOUSBGetEndpointMaxPacketSize](usbdriverkit/iousbgetendpointmaxpacketsize.md)
- [IOUSBGetEndpointMaxStreams](usbdriverkit/iousbgetendpointmaxstreams.md)
- [IOUSBGetEndpointMaxStreamsEncoded](usbdriverkit/iousbgetendpointmaxstreamsencoded.md)
- [IOUSBGetEndpointMult](usbdriverkit/iousbgetendpointmult.md)
- [IOUSBGetEndpointNumber](usbdriverkit/iousbgetendpointnumber.md)
- [IOUSBGetEndpointType](usbdriverkit/iousbgetendpointtype.md)

### BOS Descriptors

- [IOUSBGetNextCapabilityDescriptor](usbdriverkit/iousbgetnextcapabilitydescriptor.md)
- [IOUSBGetNextCapabilityDescriptorWithType](usbdriverkit/iousbgetnextcapabilitydescriptorwithtype.md)
- [IOUSBGetSuperSpeedDeviceCapabilityDescriptor](usbdriverkit/iousbgetsuperspeeddevicecapabilitydescriptor.md)
- [IOUSBGetSuperSpeedPlusDeviceCapabilityDescriptor](usbdriverkit/iousbgetsuperspeedplusdevicecapabilitydescriptor.md)
- [IOUSBGetUSB20ExtensionDeviceCapabilityDescriptor](usbdriverkit/iousbgetusb20extensiondevicecapabilitydescriptor.md)
- [IOUSBGetContainerIDDescriptor](usbdriverkit/iousbgetcontaineriddescriptor.md)
- [IOUSBGetPlatformCapabilityDescriptor](usbdriverkit/iousbgetplatformcapabilitydescriptor.md)
- [IOUSBGetBillboardDescriptor](usbdriverkit/iousbgetbillboarddescriptor.md)

## See Also

### Getting the Device Descriptors

- [CopyCapabilityDescriptors](usbdriverkit/iousbhostdevice/copycapabilitydescriptors.md)
- [CopyConfigurationDescriptor](usbdriverkit/iousbhostdevice/copyconfigurationdescriptor-lej1.md)
- [CopyConfigurationDescriptor](usbdriverkit/iousbhostdevice/copyconfigurationdescriptor-6qgew.md)
- [CopyConfigurationDescriptorWithValue](usbdriverkit/iousbhostdevice/copyconfigurationdescriptorwithvalue.md)
- [CopyDeviceDescriptor](usbdriverkit/iousbhostdevice/copydevicedescriptor.md)
- [CopyStringDescriptor](usbdriverkit/iousbhostdevice/copystringdescriptor-28ybo.md)
- [CopyStringDescriptor](usbdriverkit/iousbhostdevice/copystringdescriptor-9h8l2.md)
- [CopyDescriptor](usbdriverkit/iousbhostdevice/copydescriptor.md)
- [tIOUSBDeviceRequestTypeValue](usbdriverkit/tiousbdevicerequesttypevalue.md)
- [tIOUSBDeviceRequestRecipientValue](usbdriverkit/tiousbdevicerequestrecipientvalue.md)
