ちょっと分からないのでヒントください。

今、ハードウェアを制御するアプリケーションを作っていて、ハードウェアには付属のDLLが付属していてそれを使ってコントロールまでは出来ます。
そこで、2つのアプリケーションからそのハードウェアを制御したいのですが、付属のDLLを使用すると当然1つのアプリケーションしか制御できません。
(2つ目のアプリケーションを実行した時点でハードウェアが無いと怒られる)
そこで、複数のアプリケーションから操作できるように付属DLLを操作するDLLを作成していて
今現在、DLL間での変数の共有やGetProcAddressで関数のアドレスの取得などやってみたのですが、動かず。
GetProcAddressは仮想メモリ空間のアドレスなので他プロセスから呼び出せないのは当然な所までは分かりました。
こんな感じにしたいのですが↓

 アプリケーション1→|
             |制御DLL→付属DLL→ハードウェア
 アプリケーション2→|

今思い浮かぶ解決策としては、別プロセスの関数を呼び出す、もしくは
DLL内にスレッドを作成し、スレッドをループさせ、共用変数を監視して実行させる方法の2種類です。
もうちょっと簡単な方法があると思うのですが、何かヒントをください。