---
title: complete
framework: kernel
role: pseudoSymbol
path: kernel/iomultimemorydescriptor/1812588-complete
---

# complete

Complete processing of the memory after an I/O transfer finishes.

## Declaration

```occ
virtual IOReturn complete(
 IODirection forDirection = forDirection); 
```

## Parameters

- `forDirection`: The direction of the I/O just completed, or kIODirectionNone for the direction specified by the memory descriptor.

## Return Value

Return Value An IOReturn code.

## Overview

Overview This method should not be called unless a prepare was previously issued; the prepare() and complete() must occur in pairs, before and after an I/O transfer involving pageable memory.

## See Also

### Miscellaneous

- [getPhysicalSegment](kernel/iomultimemorydescriptor/1812610-getphysicalsegment.md)
- [initWithDescriptors](kernel/iomultimemorydescriptor/1812635-initwithdescriptors.md)
- [prepare](kernel/iomultimemorydescriptor/1812660-prepare.md)
- [withDescriptors(IOMemoryDescriptor **, UInt32, IODirection, bool)](kernel/iomultimemorydescriptor/1812685-withdescriptors.md)
- [withDescriptors(IOMemoryDescriptor **, UInt32, IODirection, bool)](kernel/iomultimemorydescriptor/1812714-withdescriptors.md)
