Windows驱动开发入门-NDIS小端口驱动

碎碎念

小端口驱动就是真正的网卡驱动,相对协议驱动而言,更贴近物理层。小端口驱动主要用于虚拟网卡,例如将通信接口由网络接口变为USB接口等。NDIS小端口驱动之一为ndisedge,使用WDF方式编码,是个虚拟网卡驱动,下层不通过任何物理设备,通过上节ndisprot协议驱动进行收包和发包。

NDIS体系 与上一层关系
TCP/IP NDIS协议驱动
ndisedge NDIS小端口驱动 通过NDIS接口
ndisprot NDIS协议驱动 通过IRP的发送和完成
物理网卡驱动 NDIS小端口驱动 通过NDIS接口
网卡 硬件 通过IO和中断资源

本节我只找到Windows Vista之前的解决方案,最新解决方案为https://learn.microsoft.com/zh-cn/windows-hardware/drivers/network/roadmap-for-developing-ndis-miniport-drivers但需要时间研究,先搁着。