---
title: isValid
framework: kernel
role: pseudoSymbol
path: kernel/ioregistryiterator/1810181-isvalid
---

# isValid

Checks that no registry changes have invalidated the iteration.

## Declaration

```occ
virtual bool isValid(
 void ); 
```

## Return Value

Return Value false if the iterator has been invalidated by changes to the registry, true otherwise.

## Overview

Overview If a registry iteration is invalidated by changes to the registry, it will be made invalid, the currentEntry will be considered zero, and further calls to getNextObject et al. will return zero. The iterator should be reset to restart the iteration when this happens.

## 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)
- [getNextObject](kernel/ioregistryiterator/1810114-getnextobject.md)
- [getNextObjectFlat](kernel/ioregistryiterator/1810135-getnextobjectflat.md)
- [getNextObjectRecursive](kernel/ioregistryiterator/1810157-getnextobjectrecursive.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)
