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

# Create

A static factory method that allocates and initializes a selector control.

## Declaration

```occ
static OSSharedPtr<IOUserVideoSelectorControl> Create(IOUserVideoDriver *in_driver, bool in_is_settable, IOUserVideoObjectPropertyElement in_control_element, IOUserVideoObjectPropertyScope in_control_scope, IOUserVideoClassID in_control_class_id);
```

## Parameters

- `in_driver`: The IOUserVideoDriver that owns this object.
- `in_is_settable`: A Boolean value indicating if the control value can be set
- `in_control_element`: The IOUserVideoObjectPropertyElement for the control
- `in_control_scope`: The IOUserVideoObjectPropertyScope for the control
- `in_control_class_id`: The IOUserVideoClassID of the control

## Return Value

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

## Discussion

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

## See Also

### Creating a selector control

- [init](videodriverkit/iouservideoselectorcontrol/init.md)
- [IOUserVideoDriver](videodriverkit/iouservideodriver.md)
- [IOUserVideoObjectPropertyElement](videodriverkit/videodriverkit/iouservideoobjectpropertyelement.md)
- [IOUserVideoObjectPropertyScope](videodriverkit/videodriverkit/iouservideoobjectpropertyscope.md)
