最近在阅读NDIS驱动,感觉有点难度,随手笔记。
NDISWDM是微软ddk中提供的示例,这里基于ndis 5.0例子进行的笔记。该驱动属于miniport驱动,并与NDISPROT驱动进行通信。NDISPROT是ddk中的协议驱动。两个驱动看下来,感觉NDIS的驱动确实有点麻烦,一方面与其他驱动结构上差别比较大,包括api方面,另一方面要时刻注意硬件的状态。下面是初步的笔记。如果你想快速阅读,可以直接略过第一部分Adapter的状态,个人觉得第二部分IRP的Cancel和第三部分对象的生命周期还是有点样子的。该笔记中并未介绍NDIS驱动的结构,假设了你已经了解NDIS驱动的基本知识。并请在阅读的之前,能先通读一下NDISWDM的代码。保持代码随手可翻的状态。
下面开始吧。

上传的附件 NDISWDM驱动学习笔记.doc