<!--
{
  "availability" : [
    "DriverKit: 27.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "VideoDriverKit",
  "identifier" : "/documentation/VideoDriverKit/IOUserVideoClockDevice/Create",
  "metadataVersion" : "0.1.0",
  "role" : "Static Method",
  "symbol" : {
    "kind" : "Static Method",
    "modules" : [
      "VideoDriverKit"
    ],
    "preciseIdentifier" : "c:@S@IOUserVideoClockDevice@F@Create#*$@S@IOUserVideoDriver#*$@S@OSString#S2_#S2_#S"
  },
  "title" : "Create"
}
-->

# Create

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

```
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

OSSharedPtr to an IOUserVideoClockDevice if it was successfully allocated and initialized

## Discussion

If IOUserVideoClockDevice is subclassed to override behavior, don’t use this method
to allocate or 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)