---
title: IOUserAudioObject
framework: audiodriverkit
role: symbol
role_heading: Class
path: audiodriverkit/iouseraudioobject
---

# IOUserAudioObject

The base class for most classes in the framework.

## Declaration

```occ
class IOUserAudioObject;
```

## Overview

Overview All classes in the framework subclass IOUserAudioObject, except for IOUserAudioDriver, which subclasses IOService from DriverKit. Don’t subclass or instantiate IOUserAudioObject directly.

## Topics

### Creating an Audio Object

- [init](audiodriverkit/iouseraudioobject/init-1ar2z.md)
- [init](audiodriverkit/iouseraudioobject/init-26qwx.md)

### Freeing an Audio Object

- [free](audiodriverkit/iouseraudioobject/free.md)

### Getting Information About the Class

- [GetClassID](audiodriverkit/iouseraudioobject/getclassid.md)
- [GetBaseClassID](audiodriverkit/iouseraudioobject/getbaseclassid.md)
- [IOUserAudioClassID](audiodriverkit/audiodriverkit/iouseraudioclassid.md)
- [GetObjectID](audiodriverkit/iouseraudioobject/getobjectid.md)
- [IOUserAudioObjectID](audiodriverkit/audiodriverkit/iouseraudioobjectid.md)
- [GetWorkQueue](audiodriverkit/iouseraudioobject/getworkqueue.md)

### Working with Object Names

- [GetName](audiodriverkit/iouseraudioobject/getname.md)
- [SetName](audiodriverkit/iouseraudioobject/setname.md)

### Using Custom Properties

- [AddCustomProperty](audiodriverkit/iouseraudioobject/addcustomproperty.md)
- [RemoveCustomProperty](audiodriverkit/iouseraudioobject/removecustomproperty.md)
- [IOUserAudioCustomProperty](audiodriverkit/iouseraudiocustomproperty.md)

### Instance Methods

- [GetElementCategoryName](audiodriverkit/iouseraudioobject/getelementcategoryname.md)
- [GetElementName](audiodriverkit/iouseraudioobject/getelementname.md)
- [GetElementNumberName](audiodriverkit/iouseraudioobject/getelementnumbername.md)
- [GetOwnerObjectID](audiodriverkit/iouseraudioobject/getownerobjectid.md)
- [SetElementCategoryName](audiodriverkit/iouseraudioobject/setelementcategoryname.md)
- [SetElementName](audiodriverkit/iouseraudioobject/setelementname.md)
- [SetElementNumberName](audiodriverkit/iouseraudioobject/setelementnumbername.md)

## Relationships

### Inherits From

- [OSObject](driverkit/osobject.md)

### Inherited By

- [IOUserAudioBox](audiodriverkit/iouseraudiobox.md)
- [IOUserAudioClockDevice](audiodriverkit/iouseraudioclockdevice.md)
- [IOUserAudioControl](audiodriverkit/iouseraudiocontrol.md)
- [IOUserAudioCustomProperty](audiodriverkit/iouseraudiocustomproperty.md)
- [IOUserAudioStream](audiodriverkit/iouseraudiostream.md)

## See Also

### Essentials

- [IOUserAudioDriver](audiodriverkit/iouseraudiodriver.md)
- [DriverKit Audio Family](bundleresources/entitlements/com.apple.developer.driverkit.family.audio.md)
- [Creating an audio device driver](audiodriverkit/creating-an-audio-device-driver.md)
