---
title: Create
framework: DriverKit
role: symbol
role_heading: Static Method
path: driverkit/ioworkgroup/create
---

# Create

## Declaration

```occ
static kern_return_t Create(OSString *name, IOUserClient *userClient, IOWorkGroup **workgroup);
```

## Parameters

- `name`: Name of the workgroup
- `userClient`: Userclient to create the workgroup in. The DriverKit runtime will retain the userclient, and will release it in Invalidate() or when the IOWorkGroup is freed.
- `workgroup`: Created IOWorkGroup with +1 retain count to be released by the caller.

## Return Value

Return Value kIOReturnSuccess on success. See IOReturn.h for error codes.

## Discussion

Discussion Create an IOWorkGroup object. This object is not functional until a workgroup port has been set.
