---
title: "ODNodeCopyUnreachableSubnodeNames(_:_:)"
framework: opendirectory
role: symbol
role_heading: Function
path: "opendirectory/odnodecopyunreachablesubnodenames(_:_:)"
---

# ODNodeCopyUnreachableSubnodeNames(_:_:)

Returns an array of the subnodes of a given node that are currently unreachable.

## Declaration

```swift
func ODNodeCopyUnreachableSubnodeNames(_ node: ODNodeRef!, _ error: UnsafeMutablePointer<Unmanaged<CFError>?>!) -> Unmanaged<CFArray>!
```

## Parameters

- `node`: The node.
- `error`: An error reference for error details. Can be NULL.

## Return Value

Return Value An array of unreachable subnodes, or NULL if all subnodes are reachable.

## Discussion

Discussion This function is typically used to detect unreachable search policy nodes.

## See Also

### Working with Nodes

- [ODNodeCopyDetails(_:_:_:)](opendirectory/odnodecopydetails(_:_:_:).md)
- [ODNodeCopyRecord(_:_:_:_:_:)](opendirectory/odnodecopyrecord(_:_:_:_:_:).md)
- [ODNodeCopySubnodeNames(_:_:)](opendirectory/odnodecopysubnodenames(_:_:).md)
- [ODNodeCopySupportedAttributes(_:_:_:)](opendirectory/odnodecopysupportedattributes(_:_:_:).md)
- [ODNodeCopySupportedRecordTypes(_:_:)](opendirectory/odnodecopysupportedrecordtypes(_:_:).md)
- [ODNodeCreateCopy(_:_:_:)](opendirectory/odnodecreatecopy(_:_:_:).md)
- [ODNodeCreateRecord(_:_:_:_:_:)](opendirectory/odnodecreaterecord(_:_:_:_:_:).md)
- [ODNodeCreateWithName(_:_:_:_:)](opendirectory/odnodecreatewithname(_:_:_:_:).md)
- [ODNodeCreateWithNodeType(_:_:_:_:)](opendirectory/odnodecreatewithnodetype(_:_:_:_:).md)
- [ODNodeCustomCall(_:_:_:_:)](opendirectory/odnodecustomcall(_:_:_:_:).md)
- [ODNodeGetName(_:)](opendirectory/odnodegetname(_:).md)
- [ODNodeGetTypeID()](opendirectory/odnodegettypeid().md)
- [ODNodeSetCredentials(_:_:_:_:_:)](opendirectory/odnodesetcredentials(_:_:_:_:_:).md)
- [ODNodeSetCredentialsExtended(_:_:_:_:_:_:_:)](opendirectory/odnodesetcredentialsextended(_:_:_:_:_:_:_:).md)
