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

# IOUserMIDIDevice

```
class IOUserMIDIDevice;
```

## Topics

### Instance Methods

[`virtual kern_return_t AbortDeviceConfigurationChange(uint64_t changeAction, OSObject *changeInfo);`](/documentation/MIDIDriverKit/IOUserMIDIDevice/AbortDeviceConfigurationChange)

[`kern_return_t AddEntity(IOUserMIDIEntity *entity);`](/documentation/MIDIDriverKit/IOUserMIDIDevice/AddEntity)

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

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

[`bool GetDeviceIsRunning() const;`](/documentation/MIDIDriverKit/IOUserMIDIDevice/GetDeviceIsRunning)

[`OSSharedPtr<OSArray> GetEntities() const;`](/documentation/MIDIDriverKit/IOUserMIDIDevice/GetEntities)

[`virtual kern_return_t PerformDeviceConfigurationChange(uint64_t changeAction, OSObject *changeInfo);`](/documentation/MIDIDriverKit/IOUserMIDIDevice/PerformDeviceConfigurationChange)

[`kern_return_t RemoveEntity(IOUserMIDIEntity *entity);`](/documentation/MIDIDriverKit/IOUserMIDIDevice/RemoveEntity)

[`kern_return_t RequestDeviceConfigurationChange(uint64_t changeAction, OSObject *changeInfo);`](/documentation/MIDIDriverKit/IOUserMIDIDevice/RequestDeviceConfigurationChange)

[`virtual kern_return_t SetProperties(OSDictionary *propertyDictionary);`](/documentation/MIDIDriverKit/IOUserMIDIDevice/SetProperties)

[`virtual kern_return_t StartIO();`](/documentation/MIDIDriverKit/IOUserMIDIDevice/StartIO)

[`virtual kern_return_t StopIO();`](/documentation/MIDIDriverKit/IOUserMIDIDevice/StopIO)

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

[`virtual bool init(IOUserMIDIDriver *driver, OSString *deviceUID, OSString *modelUID, OSString *manufacturerUID);`](/documentation/MIDIDriverKit/IOUserMIDIDevice/init)

### Type Methods

[`static OSSharedPtr<IOUserMIDIDevice> Create(IOUserMIDIDriver *driver, OSString *deviceUID, OSString *modelUID, OSString *manufacturerUID);`](/documentation/MIDIDriverKit/IOUserMIDIDevice/Create)

## Relationships

### Inherits From

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

---

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)