指示 CoNDIS WAN 微型端口驱动程序状态

CoNDIS WAN 微型端口驱动程序调用 NdisMCoIndicateStatusEx ,以指示状态更改到绑定协议驱动程序。 有关从 CoNDIS 微型端口驱动程序或 MCM 指示状态的详细信息,请参阅 指示微型端口驱动程序状态

绑定协议驱动程序可以忽略这些状态指示。 但是,处理这些指示通常会提高协议驱动程序和微型端口驱动程序的性能。

NDISWAN 中间驱动程序将状态指示转发到 NDIS。 NDIS 调用绑定协议驱动程序或配置管理器的 ProtocolCoStatusEx 函数。 这些协议驱动程序或配置管理器可以记录这些指示,并可能在必要时采取纠正措施。

对于 CoNDIS WAN 微型端口驱动程序,对 NdisMCoIndicateStatusEx 的 调用与任何 CoNDIS 微型端口驱动程序相同,只不过 CoNDIS WAN 微型端口驱动程序指示每个虚拟连接 (VC) 在微型端口驱动程序的 NIC 上的 WAN 特定状态。 微型端口驱动程序使用显式 VC 句柄调用 NdisMCoIndicateStatusEx ,以指示这些更改,以共享此 VC 的协议驱动程序。 如果驱动程序指定 NULLNdisVcHandle,则状态与 NIC 状态的一般更改有关。

每个状态指示提供两个基本信息:

  • 指定常规状态的状态代码。 定义的常规状态代码数量有限;此列表将视将来的扩展而定。

  • 包含状态信息的缓冲区。 此状态信息可以特定于 NIC,对于 CoNDIS WAN 微型端口驱动程序,可以特定于 NIC 上的 VC。 例如,缓冲区可能包含 X.25 连接的新传输速度,该速度最近降低了 2。

CoNDIS WAN VC 状态指示为:

  • NDIS_STATUS_WAN_CO_LINKPARAMS

    CoNDIS WAN 微型端口驱动程序调用 NdisMCoIndicateStatusEx 以指示 NIC 上处于活动状态的特定 VC 的参数已更改。 在此调用中,微型端口驱动程序将句柄传递给 NdisVcHandle 参数中的 VC,在 GeneralStatus 参数中NDIS_STATUS_WAN_CO_LINKPARAMS,并将指针传递给 StatusBuffer 参数中的WAN_CO_LINKPARAMS结构。 WAN_CO_LINKPARAMS介绍了 VC 的新参数。

  • NDIS_STATUS_WAN_CO_FRAGMENT

    CoNDIS WAN 微型端口驱动程序调用 NdisMCoIndicateStatusEx 以指示它已收到来自 VC 终结点的部分数据包。 在此调用中,微型端口驱动程序将句柄传递给 NdisVcHandle 参数中的 VC,在 GeneralStatus 参数中NDIS_STATUS_WAN_CO_FRAGMENT,并将指针传递给 StatusBuffer 参数中的NDIS_WAN_CO_FRAGMENT结构。 NDIS_WAN_CO_FRAGMENT描述接收部分数据包的原因。

    出现此指示后,面向连接的客户端应将帧发送到 VC 另一端的面向连接的客户端。 这些帧将通知相反的终结点部分数据包的情况,因此不需要相反的终结点等待超时发生。

    NDISWAN 通过计算每个 VC 上的片段指示数来监视丢弃的数据包。