所有 NDIS 6.0 及更高版本的驱动程序都更新了驱动程序注册接口。 这些 NDIS 接口提供简化的驱动程序注册功能,并且能够单独注册可选服务,而非所需服务。
微型端口驱动程序需要更少的函数调用才能注册。 通常,与 NDIS 5.x 和更早版本的接口相比,NDIS 6.0 和更高版本的函数接口更为一致。 分配的资源也有相应的函数用于释放它们。
NDIS 6.0 或更高版本的中间驱动程序可以注册为微型端口中间驱动程序。 此类驱动程序具有虚拟设备的虚拟微型端口和物理设备的微型端口适配器。 注册为微型端口中间驱动程序简化了创建仅绑定到供应商自己的 NIC 的中间驱动程序。 驱动程序可以使用内部调用在其虚拟微型端口和物理微型端口适配器之间传递网络数据、OID 请求和状态指示。
协议驱动程序在绑定请求中接收有关基础适配器的大部分信息。 因此,协议驱动程序不会为绑定请求中已提供 NDIS 的参数发送 OID 请求。
为了初始化微型端口适配器,微型端口驱动程序可以接收 OID 请求,而这些请求将来自许多单独 OID 请求的信息合并为更少的请求。
中间驱动程序的专用功能较少,并更好地使用微型端口驱动程序和协议驱动程序接口。
微型端口驱动程序可以随时读取或写入注册表,而不仅仅是在初始化期间。 例如,当应用程序通过 Windows Management Instrumentation(WMI)请求驱动程序更改其作参数之一时,驱动程序可以在注册表中记录此更改,以便更改在重新启动时持久保留。
NDIS 提供与总线无关的函数调用,用于读取和写入特定于总线的配置参数。 无论系统中的总线类型如何,驱动程序都可以调用此函数。 这可确保 NDIS 能够支持将来的总线,而不需要新增特定于总线的功能。
有关驱动程序初始化的详细信息,请参阅以下部分中的初始化主题: