I have a very simple interface that needs to communicate between processes. Currently it is implemented in a very simple way (all separate processes):
bool GetFoo(struct Foo *outFoo);
bool GetBar(struct Bar *getBar);
For instance:
Foo foo;
if (!GetFoo(&foo))
{
ReportError();
}
GetFoo fills the Foo data structure with clean data (that is, without pointers, this is purely flashing data).
I need to convert this call while working between two processes on the same machine (in this case, it is always the same machine). Is there a common idiom for cross calls in C ++ on Windows? Is there any kind of communication within the process supported by Windows? Should I use shared memory instead?
One note: I don't want to depend on anything other than the Windows API, if at all possible.