---
title: IOUSBInterfaceDescriptor
framework: usbdriverkit
role: symbol
role_heading: Structure
path: usbdriverkit/iousbinterfacedescriptor
---

# IOUSBInterfaceDescriptor

A descriptor for a specific interface of a USB device.

## Declaration

```occ
struct IOUSBInterfaceDescriptor;
```

## Overview

Overview An IOUSBInterfaceDescriptor object contains information about one of the device’s supported interfaces. A device’s configuration provides one or more interfaces, each with zero or more endpoints that define how to configure the pipes for that device. For more information about this descriptor type, see section 9.6.5 of the USB 2.0 specification at http://www.usb.org.

## Topics

### Accessing the Descriptor Properties

- [bLength](usbdriverkit/iousbinterfacedescriptor/blength.md)
- [bDescriptorType](usbdriverkit/iousbinterfacedescriptor/bdescriptortype.md)
- [bInterfaceNumber](usbdriverkit/iousbinterfacedescriptor/binterfacenumber.md)
- [bAlternateSetting](usbdriverkit/iousbinterfacedescriptor/balternatesetting.md)
- [bNumEndpoints](usbdriverkit/iousbinterfacedescriptor/bnumendpoints.md)
- [bInterfaceClass](usbdriverkit/iousbinterfacedescriptor/binterfaceclass.md)
- [bInterfaceSubClass](usbdriverkit/iousbinterfacedescriptor/binterfacesubclass.md)
- [bInterfaceProtocol](usbdriverkit/iousbinterfacedescriptor/binterfaceprotocol.md)
- [iInterface](usbdriverkit/iousbinterfacedescriptor/iinterface.md)

## See Also

### Interface Descriptors

- [IOUSBInterfaceAssociationDescriptor](usbdriverkit/iousbinterfaceassociationdescriptor.md)
