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

# OSMetaClassBase

Base class for DriverKit objects.

```
class OSMetaClassBase;
```

## Topics

### Managing the Object Lifecycle

[`virtual void retain() const;`](/documentation/DriverKit/OSMetaClassBase/retain)

Retains the OSObject instance

[`virtual void release() const;`](/documentation/DriverKit/OSMetaClassBase/release)

Releases the OSObject instance

### Casting to Different Types

[`static OSMetaClassBase * requiredMetaCast(const OSMetaClassBase *anObject, const OSMetaClass *toMeta);`](/documentation/DriverKit/OSMetaClassBase/requiredMetaCast)

Internal helper for OSRequiredCast. Not to be called directly.

[`static OSMetaClassBase * safeMetaCast(const OSMetaClassBase *anObject, const OSMetaClass *toMeta);`](/documentation/DriverKit/OSMetaClassBase/safeMetaCast)

Internal helper for OSDynamicCast. Not to be called directly.

### Getting Meta Information

[`bool IsRemote();`](/documentation/DriverKit/OSMetaClassBase/IsRemote)

[`const OSMetaClass * GetClass();`](/documentation/DriverKit/OSMetaClassBase/GetClass)

Internal helper for GetClassName. Not to be called directly.

[`const char * GetClassName();`](/documentation/DriverKit/OSMetaClassBase/GetClassName-50b5y)

Returns the name of the class given an OSObject pointer.

[`virtual const OSMetaClass * getMetaClass() const;`](/documentation/DriverKit/OSMetaClassBase/getMetaClass)

Internal helper for GetClassName. Not to be called directly.

### Comparing Objects

[`virtual bool isEqualTo(const OSMetaClassBase *anObject) const;`](/documentation/DriverKit/OSMetaClassBase/isEqualTo)

Compares two objects

### Managing Runtime Internals

[`kern_return_t Invoke(IORPC invoke);`](/documentation/DriverKit/OSMetaClassBase/Invoke)

Runtime internals

[`virtual kern_return_t Dispatch(IORPC invoke);`](/documentation/DriverKit/OSMetaClassBase/Dispatch)

Runtime internals

### Instance Methods

[`const char * GetClassName() const;`](/documentation/DriverKit/OSMetaClassBase/GetClassName-r83c)

[`uint32_t getRetainCount() const;`](/documentation/DriverKit/OSMetaClassBase/getRetainCount)

### Instance Properties

[`OSMetaClass * meta;`](/documentation/DriverKit/OSMetaClassBase/meta)

[`mutable _Atomic(int) refcount;`](/documentation/DriverKit/OSMetaClassBase/refcount)

[`int32_t reserved;`](/documentation/DriverKit/OSMetaClassBase/reserved)

### Instance Methods

[`void * operator new(size_t , void *placed);`](/documentation/DriverKit/OSMetaClassBase/operator_new)

## Relationships

### Inherited By

[`OSObject`](/documentation/DriverKit/OSObject)

[`OSMetaClass`](/documentation/DriverKit/OSMetaClass)

---

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)