2009-07-06 22 views
1

Ich muss LPT-Ausgabeverkehr abfangen. Nach ein paar Stunden Recherche habe ich verstanden, dass der einzige Weg dazu ist, einen Kernel-Mode-Treiber zu schreiben, genauer gesagt einen "Filter-Treiber" ...?Sniffing LPT Traffic

Ich habe das WDK heruntergeladen, aber die Terminologie und Vielzahl von Treibertypen ist ein wenig überwältigend.

Ich versuche im Grunde zu verstehen, was Art Treiber ich schreiben sollte; Meine Zielumgebung ist Windows XP SP2 und 3 nur.

Einige Hintergrundinformationen, wenn es darauf ankommt: Ich habe eine Reihe von älteren DOS-Anwendungen, die auf LPT1 drucken. Ich möchte in der Lage sein, diese Ausgabe zu erfassen und diese Daten (nach GDI-Anrufen) an einen modernen USB-Drucker (Netzwerkdrucker) umzuleiten. Zum Glück ist der letzte Teil des Problems einfach.

Ich hoffe, jemand könnte mich in die richtige Richtung zeigen. TIA.

Antwort

1

Ich habe das Gefühl, Sie könnten alternativ Detours verwenden, um Verkehr zu schnüffeln und zu protokollieren. Ich hatte einmal einen Freund, der sehr zwielichtige Sachen machte, indem er Dinge von einem COM-Port zu einem anderen Ort bewegte, wo er sie benutzte.

Ich weiß es nicht sicher, aber es könnte einfacher sein, als einen Treiber von Grund auf neu zu schreiben.

+0

Danke für Ihre Antwort. Ich denke, der Umweg CreateFile/WriteFile und Freunde würden funktionieren, aber ich habe das Gefühl, dass dies nicht für eine 16-Bit-App funktioniert. –

1

Die Leute von sysinternals.com haben eine Anwendung namens Portmon geschrieben, mit der Sie sehen können, was mit den seriellen und parallelen Ports passiert.

Es ist ein paar Jahre alt (11/2006 war das letzte Update), aber es sollte Sie protokollieren lassen, was Sie mindestens für einen Teil der Forschung benötigen.

Wenn die Anwendungen nur DOS-basiert sind, sollten Sie in der Lage sein, ein TSR-Programm zu schreiben, das vor dem anderen Programm lädt und den Druckunterbrechungsaufruf anhängt, und es dorthin umleiten, wo Sie wollen.

Sie müssen möglicherweise auf Ihrem 386-Assembler putzen :)

0

Haben Sie mehr als Capture tun müssen, und die Druckdaten übermitteln? Wenn das alles ist, was Sie tun müssen, sollte Printfil die Arbeit für Sie erledigen. Sie finden es hier: http://www.printfil.com/english.htm