1

デバイス Aのパラレルポートからデバイス Bのパラレルポートにi/o をリダイレクトするアプリケーションを開発しています。2 つのデバイスは、イーサネット (LAN、WAN、インターネットなど) で接続されています。

デバイス Aには物理的なパラレル ポートが接続されていますが、デバイス Bはパラレル ポートを持たないマシンです。これが、デバイス Bのパラレル ポートをエミュレートして、Windows がパラレル ポートを持っていると認識し、ハードウェアのパラレル ポートで動作するのとまったく同じように動作するようにするものです。たとえば、デバイスがパラレル ポートに接続されたときに自動検出します。そのデバイスのドライバーをインストールできるようにします。

ハードウェアの一部がデバイス Aのパラレル ポートに接続された場合、I/O はデバイス B のパラレル ポートにリダイレクトされ、デバイスBの Windowsは、一部のハードウェアがデバイス B自体のパラレル ポートに接続されたと認識します。つまり、Windows はそうではありません。ハードウェアが実際に取り付けられた世界の場所を知る。Windows は、ハードウェアがデバイス Bに直接接続されていると思い込んでしまいました。

私の質問は、エミュレーション部分についてです。C++ で Windows 7 用のパラレル ポート エミュレータを作成して、実際のハードウェア パラレル ポートがあると Windows に認識させるにはどうすればよいですか?

関連する質問として、Windows はどのようにハードウェアを検出し、ハードウェアの進行中の変更を検出するのでしょうか (たとえば、一部のハードウェアがコンピューターのパラレル ポートに接続された場合)。

プログラムの流れは次のようになります。

  1. デバイス A のパラレル ポートからデータを読み取ります。
  2. そのデータをデバイス A のソケットに書き込み、デバイス B のソケットに送信します。
  3. デバイス B のソケットからデータを読み取ります。
  4. そのデータをデバイス B のパラレル ポートに書き込みます。これにより、Windows は何らかのハードウェアが接続されたと認識します。

注意:パラレル ポートのみ、つまりパラレルからパラレルへのリダイレクトのみをエミュレートします。デバイス Bの他のポートは使用できません。それがこのアプリケーションの要件です。

これまでに行った部分は、パラレル ポートとの間でデータを読み書きするプログラムを C++ で作成したことです。

また、イーサネット (LAN、WAN、インターネットなど) を介したパラレル ポートからパラレル ポートへのリダイレクトのより良い方法を知っている場合はお知らせください。

4

1 に答える 1

0

Windows での LPT 仮想化に関する私自身の検索で、この質問に出くわしました。これは古いものであり、残念ながら直接の答えはありませんが、これまでに見つけたものを共有して、始めるのに役立つと思いました。

于 2012-11-28T07:08:18.047 に答える