* through the current parent. The pointer is allocated by the
* caller. If the parent is invalid, return FAIL (no info). The
* caller MUST NOT use the value in parent if the return is not
* through the current parent. The pointer is allocated by the
* caller. If the parent is invalid, return FAIL (no info). The
* caller MUST NOT use the value in parent if the return is not