---
title: IOMemoryMap
framework: driverkit
role: symbol
role_heading: Class
path: driverkit/iomemorymap
---

# IOMemoryMap

A reference to an existing block of memory in the current process or in a different process.

## Declaration

```occ
class IOMemoryMap;
```

## Overview

Overview Use an IOMemoryMap object to share an existing block of memory. You don’t create instances of this class directly. Instead, call the CreateMapping method of IOMemoryDescriptor to create a new memory map object for that descriptor’s contents. Use the methods of this class to get the address and size of the memory block, relative to the current process. An IOMemoryMap object doesn’t own the memory it references, and you must not attempt to free that memory.

## Topics

### Configuring the Memory Map

- [init](driverkit/iomemorymap/init.md)
- [free](driverkit/iomemorymap/free.md)

### Getting the Map Attributes

- [GetAddress](driverkit/iomemorymap/getaddress.md)
- [GetLength](driverkit/iomemorymap/getlength.md)
- [GetOffset](driverkit/iomemorymap/getoffset.md)

## Relationships

### Inherits From

- [OSObject](driverkit/osobject.md)

## See Also

### Memory management

- [IOBufferMemoryDescriptor](driverkit/iobuffermemorydescriptor.md)
- [IOMemoryDescriptor](driverkit/iomemorydescriptor.md)
- [Memory Utilities](driverkit/memory-utilities.md)
