我需要拦截LPT输出流量。经过几个小时的研究,我逐渐明白,唯一的方法是编写内核模式驱动程序,更确切地说是“过滤器驱动程序”......?
我已经下载了WDK,但术语和大量的驱动程序类型有点压倒性。
我基本上是想了解我应该写的驱动程序 kind ;我的目标环境是Windows XP SP2和3 仅。
一些背景信息,如果重要:我有一堆打印到LPT1的传统DOS应用程序。我希望能够捕获此输出并将此数据(在GDI调用之后)重定向到现代USB(网络)打印机。幸运的是,问题的后半部分很容易。
我希望有人能指出我正确的方向。 TIA。
答案 0 :(得分:1)
我有一种感觉,您可以使用Detours来嗅探和记录流量。我有一个朋友曾经做过一些非常狡猾的事情,将东西从COM端口移动到其他地方使用它。
我不确定,但它可能比从头开始编写驱动程序更容易。
答案 1 :(得分:1)
sysinternals.com的人写了一个名为Portmon的应用程序,可以让你看到串口和并口的内容。
它已经有几年了(2006年11月是最后一次更新),但它应该让你记录你至少需要做的一些研究。
如果应用程序只是基于DOS的,那么您应该能够编写一个TSR程序,该程序在另一个程序之前加载并挂钩打印中断调用,并将其重定向到您想要的位置。
您可能需要刷新386汇编程序:)
答案 2 :(得分:0)
您需要做的不仅仅是捕获和转发打印机数据吗?如果这就是你需要做的全部,那么Printfil应该为你完成这项工作。你会在这里找到它:http://www.printfil.com/english.htm