---
title: Create
framework: audiodriverkit
role: symbol
role_heading: Static Method
path: audiodriverkit/iouseraudiocustomproperty/create
---

# Create

Allocates and initializes an instance of the custom property class.

## Declaration

```occ
static OSSharedPtr<IOUserAudioCustomProperty> Create(IOUserAudioDriver *in_audio_driver, IOUserAudioObjectPropertyAddress in_prop_addr, bool in_is_property_settable, IOUserAudioCustomPropertyDataType in_qualifier_data_type, IOUserAudioCustomPropertyDataType in_data_type);
```

## Parameters

- `in_audio_driver`: The doc://com.apple.audiodriverkit/documentation/AudioDriverKit/IOUserAudioDriver that owns this object.
- `in_prop_addr`: doc://com.apple.audiodriverkit/documentation/AudioDriverKit/AudioDriverKit/IOUserAudioObjectPropertyAddress of the custom property.
- `in_is_property_settable`: A Boolean value that indicates if the property can be set.
- `in_qualifier_data_type`: The doc://com.apple.audiodriverkit/documentation/AudioDriverKit/AudioDriverKit/IOUserAudioCustomPropertyDataType for custom property’s qualifier data value.
- `in_data_type`: The doc://com.apple.audiodriverkit/documentation/AudioDriverKit/AudioDriverKit/IOUserAudioCustomPropertyDataType for custom property’s data value.This value can’t be IOUserAudioCustomPropertyDataType::None.

## Return Value

Return Value A poiner to an IOUserAudioCustomProperty, if allocation and initialization succeeded.

## Discussion

Discussion If you subclass IOUserAudioCustomProperty to override this class’ behavior, don’t use Create to allocate and initialize the custom subclass.

## See Also

### Creating a Custom Property

- [init](audiodriverkit/iouseraudiocustomproperty/init.md)
- [IOUserAudioObjectPropertyAddress](audiodriverkit/audiodriverkit/iouseraudioobjectpropertyaddress.md)
- [IOUserAudioCustomPropertyDataType](audiodriverkit/audiodriverkit/iouseraudiocustompropertydatatype.md)
