背景:我需要创建一个 NDIS 过滤器中间驱动程序。该驱动程序将在收集元数据(主要是计时信息)的同时传递所有流量。驱动程序将通过插入自己的包含元数据的数据包并将其向上传递到堆栈来将此信息导出到用户应用程序。
我的问题是关于 NDIS 版本的。最终,我将不得不为 Windows XP 和 7 编写一个驱动程序。但是目前,我只会实现其中一个作为概念/原型(prototype)证明。我知道在 NDIS 6 中,他们将过滤器功能从通用中间驱动程序中拆分为单独的驱动程序类型(轻量级过滤器),以简化过滤器驱动程序的创建。 Microsoft 在 DDK 中为 NDIS 5 和 6 提供了直通筛选器驱动程序的示例。我一直在查看这些示例,NDIS 6 LWF 只是看起来更简单一些(尽管不可否认,我对 Windows 驱动程序开发仍然是新手)。
在所有其他条件相同的情况下,最好首先支持 Win XP(更大的安装基础、更容易访问测试机器等)。但是,如果 NDIS 6 轻量级筛选器能够实现更快/更轻松的开发,那么我最好先实现 Win 7 驱动程序。
简而言之:根据您的经验,与 NDIS 5 相比,NDIS 6 是否显着简化了筛选器驱动程序的开发?
感谢您的任何意见。
最佳答案
如果您只想修改 WDK 示例驱动程序,那么也许 NDIS 5 IM 并不需要太多工作。我不熟悉 NDIS 6 LWF 驱动程序,因此无法发表评论。
或者使用用户模式包,例如 WinDivert或WinPktFilter创建概念验证原型(prototype)。这可能比驱动程序开发更容易。 披露:我创作了 WinDivert
关于windows - NDIS 5/6 中间过滤器驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8732996/