---
title: getNextObject
framework: kernel
role: pseudoSymbol
path: kernel/ioregistryiterator/1810114-getnextobject
---

# getNextObject

Return the next object in the registry iteration.

## Declaration

```occ
virtual IORegistryEntry * getNextObject(
 void ); 
```

## Return Value

Return Value The next registry entry in the iteration (the current entry), or zero if the iteration has finished at this level of recursion. The entry returned is retained while the iterator is pointing at it (its the current entry), or recursing into it. The caller should not release it.

## Overview

Overview This method calls either getNextObjectFlat or getNextObjectRecursive depending on the options the iterator was created with. This implements the OSIterator defined getNextObject method. The object returned is retained while the iterator is pointing at it (its the current entry), or recursing into it. The caller should not release it.

## See Also

### Miscellaneous

- [enterEntry()](kernel/ioregistryiterator/1810048-enterentry.md)
- [enterEntry(const IORegistryPlane *)](kernel/ioregistryiterator/1810063-enterentry.md)
- [exitEntry](kernel/ioregistryiterator/1810081-exitentry.md)
- [getCurrentEntry](kernel/ioregistryiterator/1810099-getcurrententry.md)
- [getNextObjectFlat](kernel/ioregistryiterator/1810135-getnextobjectflat.md)
- [getNextObjectRecursive](kernel/ioregistryiterator/1810157-getnextobjectrecursive.md)
- [isValid](kernel/ioregistryiterator/1810181-isvalid.md)
- [iterateAll](kernel/ioregistryiterator/1810202-iterateall.md)
- [iterateOver(const IORegistryPlane *, IOOptionBits)](kernel/ioregistryiterator/1810226-iterateover.md)
- [iterateOver(IORegistryEntry *, const IORegistryPlane *, IOOptionBits)](kernel/ioregistryiterator/1810260-iterateover.md)
- [reset](kernel/ioregistryiterator/1810295-reset.md)
