---
title: Create
framework: VideoDriverKit
role: symbol
role_heading: Static Method
platforms: [driverkit 27.0+]
path: videodriverkit/iouservideoclockdevice/create
---

# Create

A static factory method that allocates and initializes a video clock device.

## Declaration

```occ
static OSSharedPtr<IOUserVideoClockDevice> Create(IOUserVideoDriver *in_driver, OSString *in_device_uid, OSString *in_model_uid, OSString *in_manufacturer_uid);
```

## Parameters

- `in_driver`: The IOUserVideoDriver that owns this object.
- `in_device_uid`: OSString pointer for the clock device unique identifier
- `in_model_uid`: OSString pointer for the clock device model unique identifier
- `in_manufacturer_uid`: OSString pointer for the clock device manufacturer unique identifier *

## Return Value

Return Value OSSharedPtr to an IOUserVideoClockDevice if it was successfully allocated and initialized

## Discussion

Discussion If IOUserVideoClockDevice is subclassed to override behavior, don’t use this method to allocate or initialize the custom subclass.

## See Also

### Creating a clock device

- [init](videodriverkit/iouservideoclockdevice/init.md)
- [IOUserVideoDriver](videodriverkit/iouservideodriver.md)
