# IPC app failing to build

**URL:** <https://mangoh.discourse.group/t/ipc-app-failing-to-build/1053>\
**Category:** mangOH Red\
**Created:** [January 2, 2018, 11:52pm UTC](https://mangoh.discourse.group/t/ipc-app-failing-to-build/1053 "2018-01-02T23:52:48Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![dfrey](https://sea2.discourse-cdn.com/flex016/user_avatar/mangoh.discourse.group/dfrey/32/303_2.png) [@dfrey](https://mangoh.discourse.group/u/dfrey)\
**Post date:** [January 4, 2018, 4:50pm UTC](https://mangoh.discourse.group/t/ipc-app-failing-to-build/1053/2 "2018-01-04T16:50:32Z")

</div>

Hi Nick,

The basic problem is that you can’t use `REFERENCE` the way you are trying to. `REFERENCE` creates an opaque reference to an object. So you can pass it over IPC, but you can’t dereference it on the other side. Say you had some sort of account database stored in one service in memory. You could expose a `LookupByName()` function that returns a `REFERENCE` to the use that is found and then you could have other functions `GetName()`, `GetBirthday()`, etc. that take a reference as a parameter to specify the user to look at.

For your use case, I think you will need to define a number of `OUT` parameters for every data element you would like to return. Another option is to use the file descriptor support and stream the data across, but that’s a bit more complicated.

---

_[View the full topic](https://mangoh.discourse.group/t/ipc-app-failing-to-build/1053)._
