<!--
{
  "availability" : [
    "DriverKit: 24.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "MIDIDriverKit",
  "identifier" : "/documentation/MIDIDriverKit/IOUserMIDISource",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "MIDIDriverKit"
    ],
    "preciseIdentifier" : "c:@S@IOUserMIDISource"
  },
  "title" : "IOUserMIDISource"
}
-->

# IOUserMIDISource

```
class IOUserMIDISource;
```

## Topics

### Instance Methods

[`virtual IOUserMIDIClassID GetBaseClassID() const;`](/documentation/MIDIDriverKit/IOUserMIDISource/GetBaseClassID)

[`virtual IOUserMIDIClassID GetClassID() const;`](/documentation/MIDIDriverKit/IOUserMIDISource/GetClassID)

[`kern_return_t Send(const IOUserMIDIUMPWord *umpWords, size_t numWords);`](/documentation/MIDIDriverKit/IOUserMIDISource/Send)

[`virtual void free();`](/documentation/MIDIDriverKit/IOUserMIDISource/free)

[`virtual bool init(IOUserMIDIDriver *driver, OSString *name, IOUserMIDIProtocolID protocol);`](/documentation/MIDIDriverKit/IOUserMIDISource/init)

### Type Methods

[`static OSSharedPtr<IOUserMIDISource> Create(IOUserMIDIDriver *driver, OSString *name, IOUserMIDIProtocolID protocol);`](/documentation/MIDIDriverKit/IOUserMIDISource/Create)

## Relationships

### Inherits From

[`IOUserMIDIEndpoint`](/documentation/MIDIDriverKit/IOUserMIDIEndpoint)

---

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)