<!--
{
  "availability" : [
    "DriverKit: 21.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AudioDriverKit",
  "identifier" : "/documentation/AudioDriverKit/IOUserAudioLevelControl/Create",
  "metadataVersion" : "0.1.0",
  "role" : "Static Method",
  "symbol" : {
    "kind" : "Static Method",
    "modules" : [
      "AudioDriverKit"
    ],
    "preciseIdentifier" : "c:@S@IOUserAudioLevelControl@F@Create#*$@S@IOUserAudioDriver#b#f#$@S@IOUserAudioLevelControlRange#i#$@N@AudioDriverKit@E@IOUserAudioObjectPropertyScope#$@N@AudioDriverKit@E@IOUserAudioClassID#S"
  },
  "title" : "Create"
}
-->

# Create

Allocates and initializes an instance of the level control class.

```
static OSSharedPtr<IOUserAudioLevelControl> Create(IOUserAudioDriver *in_driver, bool in_is_settable, float in_decibel_value, IOUserAudioLevelControlRange in_decibel_range, IOUserAudioObjectPropertyElement in_control_element, IOUserAudioObjectPropertyScope in_control_scope, IOUserAudioClassID in_control_class_id);
```

## Parameters

`in_driver`

The [`IOUserAudioDriver`](/documentation/AudioDriverKit/IOUserAudioDriver) that owns this object.

`in_is_settable`

A Boolean value that indicates if the control can be set.

`in_decibel_value`

A floating-point value that represents the level control’s current value in decibels.

`in_decibel_range`

A [`IOUserAudioLevelControlRange`](/documentation/AudioDriverKit/IOUserAudioLevelControlRange) that describes the minimum and maximum values of the level control.

`in_control_element`

An [`IOUserAudioObjectPropertyElement`](/documentation/AudioDriverKit/AudioDriverKit/IOUserAudioObjectPropertyElement) to identify the control.

`in_control_scope`

A [`IOUserAudioObjectPropertyScope`](/documentation/AudioDriverKit/AudioDriverKit/IOUserAudioObjectPropertyScope) indicating the control’s scope: input, output, global, or play-through.

`in_control_class_id`

The [`IOUserAudioClassID`](/documentation/AudioDriverKit/AudioDriverKit/IOUserAudioClassID) of the control.

## Return Value

A poiner to an [`IOUserAudioLevelControl`](/documentation/AudioDriverKit/IOUserAudioLevelControl), if allocation and initialization succeeded.

## Discussion

If you subclass [`IOUserAudioLevelControl`](/documentation/AudioDriverKit/IOUserAudioLevelControl) to override this class’ behavior, don’t use [`Create`](/documentation/AudioDriverKit/IOUserAudioSliderControl/Create) to allocate and initialize the custom subclass.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)