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

# Create

A static factory method that allocates and initializes a video Boolean control.

## Declaration

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

## Parameters

- `in_driver`: The video driver that owns this object.
- `in_is_settable`: A Boolean value that indicates whether the control value can be set.
- `in_control_value`: A Boolean value for the control’s current value.
- `in_control_element`: The property for the control.
- `in_control_scope`: The scope for the control.
- `in_control_class_id`: The class identifier of the control.

## Return Value

Return Value The control, if it was successfully allocated and initialized.

## Discussion

Discussion If you subclass IOUserVideoBooleanControl to override behavior, don’t use this method to allocate or initialize the custom subclass.

## See Also

### Creating a Boolean control

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