【问题标题】:User mode driver with NDIS带有 NDIS 的用户模式驱动程序
【发布时间】:2020-09-24 09:59:59
【问题描述】:

Windows 过滤平台提供 API 来开发内核模式和用户模式网络过滤器驱动程序。
是否可以使用 Windows API 在 NDIS 上开发用户模式网络过滤器驱动程序?

【问题讨论】:

    标签: windows kernel windows-kernel ndis usermode


    【解决方案1】:

    没有。

    Windows 没有在用户模式进程中执行 NDIS 级别过滤的基础结构。您可以自己构建它:编写一个将 IO 转发到用户模式的 NDIS 过滤器,优雅地处理超时和崩溃,同时使其既安全又快速。我相信您可以想象,这不是一项简单的任务,而且几乎可以肯定的是,完全在一个单一的内核驱动程序中构建您的解决方案会更容易。

    这是一个合理的功能要求! NDIS 团队希望拥有一个用户模式过滤模型。但是,我们更直接的路线图有一个用户模式 ​​NIC 驱动程序 (NetAdapter)。在那之后,我们也许能够处理用户模式过滤。不幸的是,那将是几年后的事情,所以你可能不能只等我们到达那里。

    【讨论】:

    • 但是 NetAdapter 依赖于 WDF 模型。从长远来看,转向它不会导致 NDIS 被弃用吗?
    • 是或否,取决于您对“NDIS”的定义。名为 NDIS.SYS 的驱动程序可能总是在幕后,将所有东西放在一起。但是 NIC 驱动程序(以及最终的过滤器和协议驱动程序)可能会直接使用更少的名为 NdisXyz 的 API。就像 WDF 不会使内核或 WDM 过时一样。我们已经在逐渐鼓励人们使用更少的 NDIS API(例如:NdisCopyMemory -> RtlCopyMemory),您可以将其表述为对 NDIS 小部分的温和弃用。
    猜你喜欢
    • 2016-03-10
    • 2014-11-08
    • 1970-01-01
    • 2017-06-21
    • 2011-10-20
    • 1970-01-01
    • 2012-05-08
    • 2012-05-05
    • 1970-01-01
    相关资源
    最近更新 更多