2009-07-06 50 views
1

LPT出力トラフィックを傍受する必要があります。数時間の研究の後で、これを行う唯一の方法は、カーネルモードのドライバー、より正確には「フィルタードライバー」を書いていることです。LPTトラフィックをスニッフィングする

私はWDKをダウンロードしましたが、専門用語と膨大な数のドライバのタイプは少し圧倒されています。

私は基本的に何を理解しようとしています種類私は書く必要があります。私のターゲット環境はWindows XP SP2と3 のみです。

重要な背景情報:LPT1に印刷するレガシーDOSアプリケーションがたくさんあります。私はこの出力をキャプチャして、このデータ(GDI呼び出し後)を最新のUSB(ネットワーク)プリンタにリダイレクトしたいと考えています。幸いにも、問題の後半部分は簡単です。

私は誰かが正しい方向に私を指すことを望んでいると思います。 TIA。

答えて

1

代わりにDetoursを使用してトラフィックをスニッフィングしてログに記録することができます。私は友人にCOMポートから別の場所に物を移動させて、いったん変わったことをやりました。

私は確かに分かりませんが、最初からドライバを書くよりも簡単かもしれません。

+0

あなたの答えをありがとう。私は、CreateFile/WriteFileや友人たちを回覧するのはうまくいくと思っていますが、これは16ビットアプリケーションではうまくいかないと感じています。 –

1

sysinternals.comのユーザーは、Portmonと呼ばれるアプリケーションを作成しました。このアプリケーションは、シリアルポートとパラレルポートに何が起こっているのかを確認することができます。

それは数年前です(11/2006が最後の更新でした)が、それはあなたが少なくともいくつかの研究を行うために必要なものを記録する必要があります。

アプリケーションがDOSベースの場合は、他のプログラムの前に読み込まれたTSRプログラムを作成し、印刷割り込み呼び出しをフックして、必要な場所にリダイレクトする必要があります。

あなたは386アセンブラをブラッシュアップが必要になる場合があります:)

0

あなたはプリンタデータをキャプチャして転送する以上のことを行う必要がありますか?それだけで済むなら、Printfilはあなたのために仕事をしなければなりません。あなたはここにそれを見つけるでしょう:http://www.printfil.com/english.htm

関連する問題