默认 NDIS 端口

端口0保留为微型端口适配器的默认端口。 如果任何函数的 PortNumber 参数或任何结构的 PortNumber 成员均设置为零,则表示小型端口驱动程序未分配任何端口,或者当前活动不是特定于端口的。

如需默认 NDIS 端口的典型示例,请考虑负载平衡和故障转移 (LBFO) MUX 中间驱动程序。 此类驱动程序的虚拟微型端口可以是端口 0 (默认端口) 。 中间驱动程序可以使用端口号(范围从1到端口号1到 (N) 的端口号)将端口分配给基础微型端口适配器。 过量驱动程序可以将数据发送到端口零,以允许 LBFO 驱动程序选择某个基础端口,或者过量驱动程序可以指定从1到 N 的端口号,以便为发送操作选择特定端口。

微型端口驱动程序无需分配任何端口或支持除默认端口以外的任何端口号。 即使微型端口驱动程序未分配端口,NDIS 也会分配默认端口,并在微型端口驱动程序调用 NdisMSetMiniportAttributes 函数以设置 NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES 结构中的注册属性后激活它。 当 NdisMSetMiniportAttributes 成功返回时,微型端口驱动程序可以对默认端口启动操作。 在这种情况下,当微型端口驱动程序从 MiniportHaltEx 函数返回时,NDIS 将释放默认端口。