Du kannst
COM Objekte in einem eigenen Prozess (exe-Datei) bereitstellen. Das kann z.B. für Automation (Steuererung dieser Applikation) verwendet werden. D.h. alle
COM Aufrufe müssen über Prozessgrenzen hinweg geführt werden. Dazu werden Methodenaufrufe in einem Stream gespeichert (d.h. der Stack) und dann über Netzwerk gesendet (auch lokal).
Dieses Kapseln wird Marshalling genannt. Das Problem dabei ist, dass alle Typen, die der Standardmarshaller nicht kennt, nicht übertragen werden können. Darunter sind dynamische Strukturen (=Zeiger + Datenlänge). Nur bei Out-Of-Process Situationen ist ein Marshaller erforderlich, da Zeiger über Prozessgrenzen nicht gültig sind. Bei In-Process ist das garkein Problem. Man kann auch Zeiger im
COM Verpacken. Die Ziele der Zeiger sind ja innerhalb desselben Prozesses.
Leider geht diese Situation vermutlich auch schon nicht mehr, wenn
COM Objekte in verschiedenen Apartments sich befinden.
Ich habe so ein Problem, wie oben beschrieben in dem anderen
Thread geschildert.