<!--
{
  "availability" : [
    "DriverKit: -",
    "iOS: -",
    "iPadOS: -",
    "macOS: -"
  ],
  "documentType" : "symbol",
  "framework" : "DriverKit",
  "identifier" : "/documentation/DriverKit/IOEventLink/Create",
  "metadataVersion" : "0.1.0",
  "role" : "Static Method",
  "symbol" : {
    "kind" : "Static Method",
    "modules" : [
      "DriverKit"
    ],
    "preciseIdentifier" : "c:@S@IOEventLink@F@Create#*$@S@OSString#*$@S@IOUserClient#**$@S@IOEventLink#S"
  },
  "title" : "Create"
}
-->

# Create

```
static kern_return_t Create(OSString *name, IOUserClient *userClient, IOEventLink **eventLink);
```

## Parameters

`name`

User-specified name. If an IOEventLink with the same name already exists in the specified
user client, the old IOEventLink will be replaced.

`userClient`

Userclient to create the eventlink in. The DriverKit runtime will retain the userclient, and will
release it in Invalidate() or when the IOEventLink is freed.

`eventLink`

Created IOEventLink with +1 retain count to be released by the caller.

## Return Value

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

## Discussion\abstract Create an IOEventLink.

---

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)