编写Windows端口监视器基础

我试图find一个基本的例子,教程或博客文章如何编写一个打印机端口监视器。 我下载了Windows DDK并通过localmon挖出来,但看起来这个示例比单纯的基础知识要复杂得多,根据我的理解,它与OEM端口监视器有点不同,因为它处理registry键和端口枚举。 有没有人知道一个博客文章,教程,甚至是书籍,通过基本的代码来引导读者走上前去? 我已经find了几个关于概念性的东西的链接,但没有什么是代码的手。

Solutions Collecting From Web of "编写Windows端口监视器基础"

我从规范中写下了我的规范 ,实际上并没有太多的API可以实现。

有一件事情是让人尴尬的是EnumPorts,假脱机程序为所有的端口分配足够的内存,而不仅仅是你的。 所以你需要确保你从假脱机缓冲区的末尾填入任何字符串,不要把它们放在你的结构之后。

它在规范中没有这么说,但是你可以放心地把UI和server的功能放在同一个DLL中。

也可以创建一个支持NT和Windows 2000以后版本的端口监视器的单端口监视器。

RedMon中的代码比localmon的例子更容易阅读,在开始之前值得一看。 这很好,因为你可以在VS中编译它,你不需要使用DDK来构建它。

我可以推荐http://www.codeproject.com/KB/printing/wpa.aspx ,它描述了如何编写一个打印机驱动程序,并且对于构建一个端口监视器有什么必要的提示。

但我的意见是,在这方面的一个很好的教程是不是在互联网上(我会很高兴找到一个谁可以告诉我,我错了)。 所以,当我不得不处理这个任务的时候,我不得不艰难地做到这一点:我已经仔细阅读了从这一点开始的MSDN解释: http : //msdn.microsoft.com/zh-cn/library/ff561109 .aspx 。 在阅读MSDN的同时,我也检查了你提到的DDK中的代码并试图理解它。 我相信这个解决方案也可以为你工作。

我已经在一个串行打印机完全相同的领土。 关于我发现的最好的例子是Dobbs Journal杂志上的这篇文章 。 好的部分是,一个串口驱动程序和用户空间控制程序都被覆盖了,这个项目也可以作为一个例子来说明如何设置Visual Studio来编译一个驱动程序。 这也是有点难以找到有关的信息。 文章讨论了一个旧的NT风格的驱动程序,在XP上运行得很好。

CodeProject上有很多关于编写驱动程序和程序与它们进行交互的好文章。 它们包括源代码,大多数处理新的WDM和WDF风格的驱动程序。

OSROnline是另一个很好的来源,特别是讨论具体问题和常见错误。 他们也有一些你需要的伟大的工具。

我遇到的一些最清楚的书面和可以理解的驱动程序代码是Mark Russinovich的示例代码。 尽管微软在收购Sysinternals的时候收回了所有的资源,但仍然可以找到一些最好的例子。

司机很有趣。 不管你做什么,都要在虚拟机上做。 真。