Die Häufigkeit, mit der ich auf die Situation stoße, in der ich nativen 32-Bit-Code von einem verwalteten 64-Bit-Prozess aufrufen muss steigt mit der Verbreitung von 64-Bit-Maschinen und -Anwendungen. Ich möchte meine Anwendung nicht als 32-Bit markieren, und ich kann keine 64-Bit-Versionen des Codes erhalten, der gerade anruft.Die beste Methode zum Aufrufen von 32-Bit-nicht verwaltetem Code aus 64-Bit-verwaltetem Code mithilfe eines verwalteten Code-Wrappers
Die Lösung, die ich derzeit verwende, ist das Erstellen von C++ - COM-Shims, die aus dem Prozess geladen werden, um die 32-Bit-Aufrufe aus dem 64-Bit-Prozess zu machen.
Diese COM-Shim-Lösung funktioniert gut und die Cross-Prozessaufrufe werden von COM hinter den Kulissen abgewickelt, was den Overhead dieses Ansatzes minimiert.
Ich möchte jedoch alle neuen Entwicklungen behalten, die wir mit C# durchführen, und wir haben uns gefragt, ob es Frameworks gibt, die den Aufwand dafür minimieren. Ich habe IPCChannel angeschaut, aber ich denke, dass dieser Ansatz nicht so sauber ist wie die COM-Shim-Lösung.
Dank, Ed
Für was es wert ist, klingt die COM-Lösung wie der Weg, um IMO zu gehen. –