Obwohl die
DLL nur einmal geladen wird, wenn sie von zwei Prozessen benutz wird, verwaltet sie für jeden Prozess einen eigenen Datenbereich. Heißt, der Code ist zwar nur einmal da, aber z.B. alle globalen Variablen gibt es für jeden Prozess separat.
Selbst wenn man das irgendwie lösen könnte, steht da immer noch das Problem der gleichzeitigen Verwendung. So könnten beide Prozesse gleichzeitig Daten über den
COM-Port lesen oder schreiben. Ich glaube kaum, dass das gut gehen kann.
Ohne genaue Kenntnis des Aufbaus und der Arbeitsweise der
DLL kann man aber auch kaum valide Aussagen machen. Eventuell muss man einen Wrapper-Service um die
DLL herum bauen, die das alles sauber für mehrere Clients verarbeitet.