---
title: IOUSBConfigurationDescriptor
framework: usbdriverkit
role: symbol
role_heading: Structure
path: usbdriverkit/iousbconfigurationdescriptor
---

# IOUSBConfigurationDescriptor

The structure for storing a USB configuration descriptor.

## Declaration

```occ
struct IOUSBConfigurationDescriptor;
```

## Overview

Overview This descriptor contains information about a specific configuration of a device, including the interfaces that configuration provides. This structure has a variable length, so it defines only the known fields. Use the wTotalLength field to read the entire descriptor. For more information about this descriptor type, see section 9.6.3 of the USB 2.0 specification at http://www.usb.org.

## Topics

### Getting the Descriptor Properties

- [bLength](usbdriverkit/iousbconfigurationdescriptor/blength.md)
- [bDescriptorType](usbdriverkit/iousbconfigurationdescriptor/bdescriptortype.md)
- [wTotalLength](usbdriverkit/iousbconfigurationdescriptor/wtotallength.md)
- [bNumInterfaces](usbdriverkit/iousbconfigurationdescriptor/bnuminterfaces.md)
- [bConfigurationValue](usbdriverkit/iousbconfigurationdescriptor/bconfigurationvalue.md)
- [iConfiguration](usbdriverkit/iousbconfigurationdescriptor/iconfiguration.md)
- [bmAttributes](usbdriverkit/iousbconfigurationdescriptor/bmattributes.md)
- [MaxPower](usbdriverkit/iousbconfigurationdescriptor/maxpower.md)

## See Also

### Configuration Descriptors

- [IOUSBConfigurationDescHeader](usbdriverkit/iousbconfigurationdescheader.md)
- [Power Configuration Settings](usbdriverkit/power_configuration_settings-enum.md)
