---
title: IODeviceMemory
framework: kernel
role: symbol
role_heading: Class
path: kernel/iodevicememory
---

# IODeviceMemory

An IOMemoryDescriptor used for device physical memory ranges.

## Declaration

```occ
class IODeviceMemory : IOMemoryDescriptor
```

## Overview

Overview The IODeviceMemory class is a simple subclass of IOMemoryDescriptor that uses its methods to describe a single range of physical memory on a device. IODeviceMemory objects are usually looked up with IOService or IOPCIDevice accessors, and are created by memory-mapped bus families. IODeviceMemory implements only some factory methods in addition to the methods of IOMemoryDescriptor.

## Topics

### Miscellaneous

- [arrayFromList](kernel/iodevicememory/1811066-arrayfromlist.md)
- [withRange](kernel/iodevicememory/1811085-withrange.md)
- [withSubRange](kernel/iodevicememory/1811112-withsubrange.md)

### DataTypes

- [InitElement](kernel/iodevicememory/initelement.md)

### Instance Methods

- [getMetaClass](kernel/iodevicememory/1392267-getmetaclass.md)

### Type Methods

- [arrayFromList](kernel/iodevicememory/1392273-arrayfromlist.md)
- [withRange](kernel/iodevicememory/1392276-withrange.md)
- [withSubRange](kernel/iodevicememory/1392269-withsubrange.md)

## Relationships

### Inherits From

- [IOMemoryDescriptor](kernel/iomemorydescriptor.md)

## See Also

### Descriptors

- [IOBufferMemoryDescriptor](kernel/iobuffermemorydescriptor.md)
- [IOGeneralMemoryDescriptor](kernel/iogeneralmemorydescriptor.md)
- [IOInterleavedMemoryDescriptor](kernel/iointerleavedmemorydescriptor.md)
- [IOMultiMemoryDescriptor](kernel/iomultimemorydescriptor.md)
- [IOSubMemoryDescriptor](kernel/iosubmemorydescriptor.md)
- [IOMemoryDescriptor](kernel/iomemorydescriptor.md)
