---
title: IOUSBDevice
framework: kernel
role: symbol
role_heading: Class
path: kernel/iousbdevice
---

# IOUSBDevice

An input/output service object that represents a device on the USB bus.

## Declaration

```occ
class IOUSBDevice : IOService
```

## Overview

Overview Use this class to configure a device and create IOUSBInterface objects that represent the interfaces of the device.

## Topics

### Miscellaneous

- [CreateInterfaceIterator](kernel/iousbdevice/1810047-createinterfaceiterator.md)
- [DeviceRequest(IOUSBDevRequest *, UInt32, UInt32, IOUSBCompletion *)](kernel/iousbdevice/1810072-devicerequest.md)
- [DeviceRequest(IOUSBDevRequestDesc *, UInt32, UInt32, IOUSBCompletion *)](kernel/iousbdevice/1810098-devicerequest.md)
- [DisplayUserNotification](kernel/iousbdevice/1810124-displayusernotification.md)
- [DoLocationOverrideAndModelMatch](kernel/iousbdevice/1810151-dolocationoverrideandmodelmatch.md)
- [FindNextInterface](kernel/iousbdevice/1810185-findnextinterface.md)
- [FindNextInterfaceDescriptor](kernel/iousbdevice/1810212-findnextinterfacedescriptor.md)
- [GetAddress](kernel/iousbdevice/1810231-getaddress.md)
- [GetBus](kernel/iousbdevice/1810263-getbus.md)
- [GetBusPowerAvailable](kernel/iousbdevice/1810284-getbuspoweravailable.md)
- [GetChildLocationID](kernel/iousbdevice/1810305-getchildlocationid.md)
- [GetConfiguration](kernel/iousbdevice/1810333-getconfiguration.md)
- [GetConfigurationDescriptor](kernel/iousbdevice/1810384-getconfigurationdescriptor.md)
- [GetDeviceInformation](kernel/iousbdevice/1810425-getdeviceinformation.md)
- [GetDeviceRelease](kernel/iousbdevice/1810457-getdevicerelease.md)
- [GetDeviceStatus](kernel/iousbdevice/1810482-getdevicestatus.md)
- [GetExtraPowerAllocated](kernel/iousbdevice/1810520-getextrapowerallocated.md)
- [GetFullConfigurationDescriptor](kernel/iousbdevice/1810553-getfullconfigurationdescriptor.md)
- [GetHubParent](kernel/iousbdevice/1810591-gethubparent.md)
- [GetManufacturerStringIndex](kernel/iousbdevice/1810637-getmanufacturerstringindex.md)
- [GetMaxPacketSize](kernel/iousbdevice/1810681-getmaxpacketsize.md)
- [GetNumConfigurations](kernel/iousbdevice/1810710-getnumconfigurations.md)
- [GetPipeZero](kernel/iousbdevice/1810748-getpipezero.md)
- [GetProductID](kernel/iousbdevice/1810809-getproductid.md)
- [GetProductStringIndex](kernel/iousbdevice/1810867-getproductstringindex.md)
- [GetSerialNumberStringIndex](kernel/iousbdevice/1810912-getserialnumberstringindex.md)
- [GetSpeed](kernel/iousbdevice/1810998-getspeed.md)
- [GetStringDescriptor](kernel/iousbdevice/1811033-getstringdescriptor.md)
- [GetVendorID](kernel/iousbdevice/1811065-getvendorid.md)
- [MakePipe](kernel/iousbdevice/1811080-makepipe.md)
- [OpenOrCloseAllInterfacePipes](kernel/iousbdevice/1811109-openorcloseallinterfacepipes.md)
- [ReEnumerateDevice](kernel/iousbdevice/1811132-reenumeratedevice.md)
- [RequestExtraPower](kernel/iousbdevice/1811162-requestextrapower.md)
- [ResetDevice](kernel/iousbdevice/1811205-resetdevice.md)
- [ReturnExtraPower](kernel/iousbdevice/1811251-returnextrapower.md)
- [SetAddress](kernel/iousbdevice/1811282-setaddress.md)
- [SetConfiguration(IOService *, UInt8, bool)](kernel/iousbdevice/1811309-setconfiguration.md)
- [SetConfiguration(IOService *, UInt8, bool, bool)](kernel/iousbdevice/1811340-setconfiguration.md)
- [SetHubParent](kernel/iousbdevice/1811377-sethubparent.md)
- [SuspendDevice](kernel/iousbdevice/1811400-suspenddevice.md)

### Instance Methods

- [getMetaClass](kernel/iousbdevice/3609093-getmetaclass.md)
- [messageClients](kernel/iousbdevice/4090593-messageclients.md)
- [start](kernel/iousbdevice/3609094-start.md)
- [stop](kernel/iousbdevice/3609095-stop.md)

## Relationships

### Inherits From

- [IOService](kernel/ioservice.md)

## See Also

### IOKit

- [IOUSBInterface](kernel/iousbinterface.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)
