---
title: IOUSBHostDevice
framework: iousbhost
role: symbol
role_heading: Class
path: iousbhost/iousbhostdevice
---

# IOUSBHostDevice

The class that claims and configures devices, retrieves descriptors, and sends device requests.

## Declaration

```swift
class IOUSBHostDevice
```

## Overview

Overview This class enables management of the device state, including sending control requests to the default endpoint 0, configuring the device, and resetting the device. The interest handler also allows monitoring of the device state. The client creates the class and initializes it with initWithIOService:options:queue:error:interestHandler:. note: To prevent other drivers from changing the state of your device, maintain an IOUSBHostDevice object until you no longer need control over the device.

## Topics

### Retrieving Device Descriptors

- [configurationDescriptor](iousbhost/iousbhostdevice/configurationdescriptor.md)

### Resetting the Device

- [reset()](iousbhost/iousbhostdevice/reset().md)

## Relationships

### Inherits From

- [IOUSBHostObject](iousbhost/iousbhostobject.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
