2

COMポート、USBなどと相互作用するいくつかのレガシーコンポーネントがあります。

COMポートをエミュレートしてトラフィックをログに記録し、どこかでWCFサービスエンドポイントに、またはデータベースに直接中継する.NETプログラムを作成したいと思います。デコレータパターンのような実際のCOMポートをラップすることもできます。

私は周りを見回して、SourceforgeプロジェクトCom0Comを見つけましたが、それはかなり古いAPIであり、c++です。

ラインプリンタドライバを作成し、システムに登録されているCOMポートと実際に対話することは決してないため、この特定の問題を解決できることに気付きました。それへのいくつかのリンクも高く評価されます。

誰かがこれをしましたか?.NETでシステムリソースをどのように作成しますか?

4

2 に答える 2

1

ドライバーを作成する必要があります。これがCom0Comの動作方法です。これらのコンポーネントがインプロセスで実行される場合、Windows API関数、たとえばMicrosoftのDetoursを乗っ取る可能性があります。

どちらのソリューションにもC/C ++が必要ですが、このコードを管理言語で記述することはできません。迂回は技術的には可能かもしれませんが、正しく行うのは非常に困難です。あなたは解決策を買うことができます、しかしあなたの要件はそれが時代遅れであるとしても珍しいことではありません。1つを見つけるのは少し難しいかもしれないほど十分に日付が付けられています。

于 2010-01-06T13:06:06.307 に答える
1

誰かがこれをしましたか?

nobugzが言ったことに追加するには:

  • COMポートエミュレーターを作成したときは、DDK(serial.sys)のサンプルシリアルポートドライバーから作成しました。

  • COMポートラッパー/ロガーを作成したときは、DDK(parport.sys)のサンプルパラレルポートフィルタードライバーから作成しました。

于 2010-01-06T13:28:25.743 に答える