NDIS_QOS_PARAMETERS 结构 (ntddndis.h)
NDIS_QOS_PARAMETERS结构指定在支持 IEEE 802.1 数据中心桥接 (DCB) 接口的网络适配器上启用的 NDIS 服务质量 (QoS) 参数。
语法
typedef struct _NDIS_QOS_PARAMETERS {
NDIS_OBJECT_HEADER Header;
ULONG Flags;
ULONG NumTrafficClasses;
UCHAR PriorityAssignmentTable[NDIS_QOS_MAXIMUM_PRIORITIES];
UCHAR TcBandwidthAssignmentTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES];
UCHAR TsaAssignmentTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES];
ULONG PfcEnable;
ULONG NumClassificationElements;
ULONG ClassificationElementSize;
ULONG FirstClassificationElementOffset;
} NDIS_QOS_PARAMETERS, *PNDIS_QOS_PARAMETERS;
成员
Header
NDIS_QOS_PARAMETERS 结构的类型、修订和大小。 此成员的格式设置为 NDIS_OBJECT_HEADER 结构。
微型端口驱动程序必须将 Header 的 Type 成员设置为 NDIS_OBJECT_TYPE_QOS_PARAMETERS。 若要指定 NDIS_QOS_PARAMETERS 结构的版本,驱动程序必须将 Header 的 Revision 成员设置为以下值:
NDIS_QOS_PARAMETERS_REVISION_1
NDIS 6.30 及更高版本的原始版本。
将 Size 成员设置为 NDIS_SIZEOF_QOS_PARAMETERS_REVISION_1。
Flags
一个 ULONG 值,该值包含指定网络适配器的 NDIS QoS 参数状态的按位 OR 标志。 有关此成员的详细信息,请参阅 标志成员概述。
NumTrafficClasses
一个 ULONG 值,该值指定在网络适配器上启用的 NDIS QoS 流量类的数量。 每个流量类通过从零到 (NumTrafficClasses–1) 范围内的标识符进行引用。
PriorityAssignmentTable[NDIS_QOS_MAXIMUM_PRIORITIES]
UCHAR 元素的数组,其中每个元素表示与 IEEE 802.1p 优先级关联的流量类。 PriorityAssignmentTable 数组按 802.1p 优先级 (0-7) 编制索引。
每个元素都包含流量类标识符。 此标识符是分类数组中流量类 NDIS_QOS_CLASSIFICATION_ELEMENT 结构的索引。
TcBandwidthAssignmentTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES]
UCHAR 元素数组,指定分配给每个流量类的带宽分配百分比。 TcBandwidthAssignmentTable 数组按流量类标识符编制索引。
TcBandwidthAssignmentTable 数组的每个元素指定流量类的带宽分配。 TcBandwidthAssignmentTable 数组中所有带宽分配分配的总值必须等于 100。
TsaAssignmentTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES]
UCHAR 元素的数组,指定分配给每个流量类的 TSA。 TsaAssignmentTable 数组按流量类标识符编制索引。
TsaAssignmentTable 数组的每个元素包含以下值之一:
NDIS_QOS_TSA_STRICT
必须将严格优先级算法用作流量类的 TSA。 有关此 TSA 的详细信息,请参阅 严格优先级算法。
NDIS_QOS_TSA_CBS
IEEE 802.1Qav 基于额度的整形器 (CBS) 算法必须用作流量类的 TSA。
NDIS_QOS_TSA_ETS
必须将 IEEE 802.1Qaz 增强传输选择 (ETS) 算法用作流量类的 TSA。 有关此 TSA 的详细信息,请参阅 增强的传输选择 (ETS) 算法。
PfcEnable
32 位的位图。 最重要的 24 位保留供将来使用。 最小有效 8 位用于指定是否在 IEEE 802.1p 优先级上启用 PFC。 如果位设置为 1,则为优先级启用 PFC。
位范围 | 含义 |
---|---|
31:24 | 保留供将来使用。 |
7 | 如果设置为 1,则会在 802.1p 优先级 7 (网络控制) 启用 PFC。 |
6 | 如果设置为 1,则会在 802.1p 优先级级别 6 (Internet 控制) 启用 PFC。 |
5 | 如果设置为 1,则会在 802.1p 优先级级别 5 (语音) 启用 PFC。 |
4 | 如果设置为 1,则会在 802.1p 优先级级别 4 (视频) 启用 PFC。 |
3 | 如果设置为 1,则会在 802.1p 优先级 3 (关键应用程序) 启用 PFC。 |
2 | 如果设置为 1,则会在 802.1p 优先级级别 2 上启用 PFC, (出色的工作量) 。 |
1 | 如果设置为 1,则会在 802.1p 优先级 1 (后台) 启用 PFC。 |
0 | 如果设置为 1,则会在 802.1p 优先级 0 上启用 PFC, (尽最大努力) 。 |
NumClassificationElements
一个 ULONG 值,该值指定流量分类数组中的元素数。 此数组中第一个元素的偏移量由 FirstClassificationElementOffset 成员指定。
ClassificationElementSize
一个 ULONG 值,该值指定流量分类数组中每个元素的大小(以字节为单位)。
sizeof(NDIS_QOS_CLASSIFICATION_ELEMENT
) 。FirstClassificationElementOffset
一个 ULONG 值,该值指定与遵循此结构的流量分类元素数组中的第一个元素的偏移量(以字节为单位)。 偏移量从 NDIS_QOS_PARAMETERS 结构的开头到第一个元素的开头。 数组中的每个元素都是 一个NDIS_QOS_CLASSIFICATION_ELEMENT 结构。
注解
NDIS_QOS_PARAMETERS 结构指定用于定义网络适配器如何优先传输或出口数据包的参数。 此结构用于以下 OID 请求:
- OID_QOS_OPERATIONAL_PARAMETERS的 OID 查询请求。 此 OID 请求返回当前在网络适配器上预配的操作 QoS 参数。
- OID_QOS_REMOTE_PARAMETERS的 OID 查询请求。 此 OID 请求返回当前在网络适配器上预配的远程 QoS 参数。
- OID_QOS_PARAMETERS的 OID 方法请求。 此 OID 请求使用本地 QoS 参数预配网络适配器。
-
NDIS_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE。 此微型端口驱动程序在其操作 QoS 参数更改时发出此状态指示。
-
NDIS_STATUS_QOS_REMOTE_PARAMETERS_CHANGE。 此微型端口驱动程序在其远程 QoS 参数更改时发出此状态指示。
标志成员概述
Flags 成员包含指定网络适配器的 NDIS QoS 参数状态的按位 OR 标志。微型端口驱动程序在发出以下 NDIS 状态指示时设置 Flags 成员:
DCB 组件在发出 OID_QOS_PARAMETERS 的 OID 方法请求时设置 Flags 成员。要求
要求 | 值 |
---|---|
最低受支持的客户端 | 在 NDIS 6.30 及更高版本中受支持。 |
标头 | ntddndis.h (包括 Ndis.h) |
另请参阅
NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES
NDIS_QOS_CLASSIFICATION_ELEMENT
NDIS_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE
NDIS_STATUS_QOS_REMOTE_PARAMETERS_CHANGE
NdisMSetMiniportAttributes