---
title: init
framework: audiodriverkit
role: symbol
role_heading: Instance Method
path: audiodriverkit/iouseraudiodevice/init
---

# init

Initializes an instance of the audio device class.

## Declaration

```occ
virtual bool init(IOUserAudioDriver *in_driver, bool in_supports_prewarming, OSString *in_device_uid, OSString *in_model_uid, OSString *in_manufacturer_uid, uint32_t in_zero_timestamp_period);
```

## Parameters

- `in_driver`: The doc://com.apple.audiodriverkit/documentation/AudioDriverKit/IOUserAudioDriver that owns this object.
- `in_supports_prewarming`: A Boolean value that specifies whether the device supports prewarming I/O.
- `in_device_uid`: A pointer to an doc://com.apple.documentation/documentation/DriverKit/OSString containing the device UID.
- `in_model_uid`: A pointer to an doc://com.apple.documentation/documentation/DriverKit/OSString containing the module UID.
- `in_manufacturer_uid`: A pointer to an doc://com.apple.documentation/documentation/DriverKit/OSString containing the manufacturer UID.
- `in_zero_timestamp_period`: A doc://com.apple.documentation/documentation/kernel/uint32_t whose value indicates the number of sample frames the host can expect between successive timestamps returned from GetZeroTimeStamp(). In other words, if GetZeroTimeStamp() returns a sample time of x, the host can expect that the next valid timestamp it receives will be x + in_zero_timestamp_period.

## Return Value

Return Value true if initialization succeeded; false otherwise.

## See Also

### Creating an Audio Device

- [Create](audiodriverkit/iouseraudiodevice/create.md)
- [IOUserAudioDriver](audiodriverkit/iouseraudiodriver.md)
