设置本地 NDIS QoS 参数

本地 NDIS 服务质量 (QoS) 参数指定微型端口驱动程序及其网络适配器的本地预配 QoS 设置。 微型端口驱动程序通过以下方式获取本地 NDIS QoS 参数:

  • 通过对象标识符 (OID) 由数据中心桥接 ( DCB) 组件 (Msdcb.sys) 发出的OID_QOS_PARAMETERS的方法请求。 此 OID 请求包含指定本地 NDIS QoS 参数 的 NDIS_QOS_PARAMETERS 结构。

    有关 DCB 组件的详细信息,请参阅 数据中心桥接的 NDIS QoS 体系结构

    注意从 Windows Server 2012 开始,DCB 组件通过 Microsoft 数据中心桥接 (DCB) 服务器功能进行安装和启用。 默认未安装此功能。

  • 通过存储在系统注册表中并由独立硬件供应商定义的专有设置, (网络适配器的 IHV) 。 当 NDIS 调用其 MiniportInitializeEx 函数时,微型端口驱动程序将读取这些设置。

  • 通过 IHV 开发的管理应用程序颁发给微型端口驱动程序的专有设置。

当 DCB 组件发出 OID_QOS_PARAMETERS的 OID 方法请求时, NDIS_QOS_PARAMETERSNDIS_QOS_PARAMETERS_WILLING标志。Flags 成员指定微型端口驱动程序如何从本地 NDIS QoS 参数解析其操作 QoS 参数。 基于此标志,驱动程序通过以下方式解析本地 QoS 参数:

  • 如果设置了 NDIS_QOS_PARAMETERS_WILLING 标志,微型端口驱动程序必须启用本地 DCB Exchange (DCBX) 愿意状态。 这允许使用 QoS 参数远程配置驱动程序。 在这种情况下,驱动程序会根据远程 QoS 参数解析其操作 QoS 参数。

    微型端口驱动程序还可以根据 IHV 定义的任何专有 QoS 设置解析其操作 QoS 参数。 驱动程序只能对未由对等机远程配置的 QoS 参数或操作系统在本地配置的 QoS 参数执行此操作。

    有关此过程的详细信息,请参阅 接收远程 NDIS QoS 参数

  • 如果未设置 NDIS_QOS_PARAMETERS_WILLING 标志,微型端口驱动程序必须禁用本地 DCBX 愿意状态。 这允许驱动程序从其本地 QoS 参数而不是远程 QoS 参数解析其操作 QoS 参数。

    注意 如果禁用本地 DCBX 愿意状态,微型端口驱动程序仍可以接受远程 QoS 参数,但无法使用它们来解析其操作 QoS 参数。

如果禁用本地 DCBX 愿意状态,微型端口驱动程序在管理其本地 QoS 参数时必须遵循以下准则:

  • 微型端口驱动程序必须禁用或替代未在NDIS_QOS_PARAMETERS中设置相关 NDIS_QOS_PARAMETERS_Xxx_CONFIGURED 标志的任何本地 QoS 参数 。Flags 成员。

    例如,微型端口驱动程序可以使用 IHV 定义的 QoS 参数的专有设置替代未配置的本地 QoS 参数。 如果没有使用 NDIS_QOS_PARAMETERS_Xxx_CONFIGURED 标志指定的本地 QoS 参数的专有设置,驱动程序必须在网络适配器上禁用这些 QoS 参数。

    注意 NDIS 保证同时设置或清除 NDIS_QOS_PARAMETERS_ETS_CONFIGUREDNDIS_QOS_PARAMETERS_PFC_CONFIGURED 标志。

  • 微型端口驱动程序在解析其操作 NDIS QoS 参数时,应应用NDIS_QOS_PARAMETERS结构中包含的本地 QoS 参数。 如果驱动程序应用这些本地 QoS 参数,则它不得使用从远程对等方接收的任何远程 QoS 参数。

    有关此过程的详细信息,请参阅 解析操作 NDIS QoS 参数

有关本地 DCBX 愿意状态的详细信息,请参阅 管理本地 DCBX 愿意状态