NDIS 接口提供程序操作

所有 NDIS 驱动程序都可以注册为接口提供程序。 每当驱动程序 (或 NDIS 代理接口提供程序) 检测到引入计算机的新接口时,它都会分配 NET_LUID 索引,注册接口,并将关联的NET_LUID值保留在持久性存储 ((如注册表) )。 以下列表介绍了如何向计算机引入新接口的几个示例:

  • 安装网络适配器(中间驱动程序的虚拟适配器或物理适配器)。 在这种情况下,NDIS 代理接口提供程序管理接口。

  • 附加筛选器模块。 在这种情况下,NDIS 代理接口提供程序管理接口。

  • MUX 中间驱动程序内部绑定。 MUX 中间驱动程序应实现 NDIS 提供程序服务来处理这种情况,因为内部接口对 NDIS 不可见。

当计算机随后重新启动时,如果接口是永久性的,则接口提供程序不应为同一接口分配新的 NET_LUID ;相反,接口提供程序应使用以前存储NET_LUID值来注册相同的接口。 此外,即使接口不是永久性的,如果计算机电源故障,接口提供程序也必须释放NET_LUID索引。 因此,接口提供程序应将NET_LUID存储在持久性存储 (中,例如注册表) 。

如果接口提供程序检测到某个接口正在关闭,则应取消注册该接口。

注意 NDIS 代理提供程序在卸载微型端口适配器时取消注册微型端口适配器的接口,并在分离模块时筛选模块。

例如,如果接口提供程序检测到接口正在完全删除 (,则会通知 NDIS 代理提供程序正在卸载微型端口适配器) ,接口提供程序将取消注册该接口并释放NET_LUID索引。 分离筛选器模块时,NDIS 代理提供程序还会释放NET_LUID索引。

在运行时,接口提供程序处理它们注册的接口的 OID 请求。 NDIS 代理接口提供程序可能会向基础驱动程序发出 OID 请求以获取接口信息。