---
title: IOUSBInterface
framework: kernel
role: symbol
role_heading: Class
path: kernel/iousbinterface
---

# IOUSBInterface

An object that represents an interface of a device on the USB bus.

## Declaration

```occ
class IOUSBInterface : IOService
```

## Overview

Overview Use this class to find an interface’s pipes and read its associated descriptors.

## Topics

### Miscellaneous

- [DeviceRequest(IOUSBDevRequest *, IOUSBCompletion *)](kernel/iousbinterface/1809501-devicerequest.md)
- [DeviceRequest(IOUSBDevRequestDesc *, IOUSBCompletion *)](kernel/iousbinterface/1809505-devicerequest.md)
- [EnableRemoteWake](kernel/iousbinterface/1809508-enableremotewake.md)
- [FindNextAltInterface](kernel/iousbinterface/1809512-findnextaltinterface.md)
- [FindNextAssociatedDescriptor](kernel/iousbinterface/1809516-findnextassociateddescriptor.md)
- [FindNextPipe(IOUSBPipe *, IOUSBFindEndpointRequest *)](kernel/iousbinterface/1809521-findnextpipe.md)
- [FindNextPipe(IOUSBPipe *, IOUSBFindEndpointRequest *, bool)](kernel/iousbinterface/1809527-findnextpipe.md)
- [GetAlternateSetting](kernel/iousbinterface/1809532-getalternatesetting.md)
- [GetConfigValue](kernel/iousbinterface/1809537-getconfigvalue.md)
- [GetDevice](kernel/iousbinterface/1809542-getdevice.md)
- [GetEndpointProperties](kernel/iousbinterface/1809546-getendpointproperties.md)
- [GetEndpointPropertiesV3](kernel/iousbinterface/1809552-getendpointpropertiesv3.md)
- [GetInterfaceClass](kernel/iousbinterface/1809556-getinterfaceclass.md)
- [GetInterfaceNumber](kernel/iousbinterface/1809561-getinterfacenumber.md)
- [GetInterfaceProtocol](kernel/iousbinterface/1809564-getinterfaceprotocol.md)
- [GetInterfaceStatus](kernel/iousbinterface/1809569-getinterfacestatus.md)
- [GetInterfaceStringIndex](kernel/iousbinterface/1809572-getinterfacestringindex.md)
- [GetInterfaceSubClass](kernel/iousbinterface/1809576-getinterfacesubclass.md)
- [GetNumEndpoints](kernel/iousbinterface/1809584-getnumendpoints.md)
- [GetPipeObj](kernel/iousbinterface/1809591-getpipeobj.md)
- [RecreateStreams](kernel/iousbinterface/1809596-recreatestreams.md)
- [RememberStreams](kernel/iousbinterface/1809603-rememberstreams.md)
- [RememberStreams.](kernel/iousbinterface/1809609-rememberstreams.md)
- [SetAlternateInterface](kernel/iousbinterface/1809615-setalternateinterface.md)
- [SetFunctionSuspendFeature](kernel/iousbinterface/1809621-setfunctionsuspendfeature.md)

### Instance Methods

- [getMetaClass](kernel/iousbinterface/3609096-getmetaclass.md)

## Relationships

### Inherits From

- [IOService](kernel/ioservice.md)

## See Also

### IOKit

- [IOUSBDevice](kernel/iousbdevice.md)
- [IOOFPathMatching](kernel/1575304-ioofpathmatching.md)
- [IOUSBHostInterface](kernel/iousbhostinterface.md)
- [IOUSBHostDevice](kernel/iousbhostdevice.md)
- [IOUSBHostPipe](kernel/iousbhostpipe.md)
- [IOUSBHostIOSource](kernel/iousbhostiosource.md)
- [IOUSBHostStream](kernel/iousbhoststream.md)
- [IOHIDEventDriver](kernel/iohideventdriver.md)
- [IOHIDEventService](kernel/iohideventservice.md)
- [IOHIDInterface](kernel/iohidinterface.md)
- [IOHIDSystem](kernel/iohidsystem.md)
- [IOHIKeyboardMapper](kernel/iohikeyboardmapper.md)
- [IOHIKeyboard](kernel/iohikeyboard.md)
- [IOHIPointing](kernel/iohipointing.md)
- [IOHIDevice](kernel/iohidevice.md)
- [IOHIDElement](kernel/iohidelement.md)
- [IOHIDWorkLoop](kernel/iohidworkloop.md)
- [IOEthernetInterface](kernel/ioethernetinterface.md)
- [IOEthernetController](kernel/ioethernetcontroller.md)
