Prozessübergreifende Kommunikation ist unter Windows immer um Welten langsamer als ein prozessinterner aber threadübergreifende Kommunikation, da ein nötiger Kontextwechsel immer einiges an Zeit benötigt.
Auch ist es Problematisch zwischen Prozessen mit Pointern zu arbeiten, da diese umgesetzt werden müssen.
Wenn die Funktion eh in 'ner
DLL ist, so ist die
COM-Lösung evtl. ganz brauchbar. Diese kann als In-Prozess-Server realisiert weden und läuft damit im Prozessraum des Anwendung (und ist damit *ziemlich* schnell. Fast so schnell wie ein normaler
DLL-Aufruf).