NDIS_NET_BUFFER_LIST_8021Q_INFO 结构 (ndis/nbl8021q.h)
NDIS_NET_BUFFER_LIST_8021Q_INFO 结构指定与 NET_BUFFER_LIST 结构关联的 802.1Q 信息。
语法
typedef struct _NDIS_NET_BUFFER_LIST_8021Q_INFO {
union {
struct {
UINT32 UserPriority : 3;
UINT32 CanonicalFormatId : 1;
UINT32 VlanId : 12;
UINT32 Reserved : 16;
} TagHeader;
struct {
UINT32 UserPriority : 3;
UINT32 CanonicalFormatId : 1;
UINT32 VlanId : 12;
UINT32 WMMInfo : 4;
UINT32 Reserved : 12;
} WLanTagHeader;
PVOID Value;
};
} NDIS_NET_BUFFER_LIST_8021Q_INFO, *PNDIS_NET_BUFFER_LIST_8021Q_INFO;
成员
TagHeader
NDIS_NET_BUFFER_LIST_8021Q_INFO中包含的联合中的成员。 802.3 以太网微型端口驱动程序使用 TagHeader 访问 802.1Q 信息。 TagHeader 是具有以下成员的位字段:
TagHeader.UserPriority
指定用于在共享媒体 802 网络中建立数据包优先级的 802.1p 优先级信息。 此成员中的位指定 802.1p 优先级值。
TagHeader.CanonicalFormatId
此成员应设置为零,这表示数据包中存在的所有 MAC 地址信息采用规范格式 (即最简单的形式) 。
TagHeader.VlanId
标识数据包所属的 VLAN。 传出数据包使用 VLAN 标识符进行标记。
TagHeader.Reserved
此成员为保留成员,应设置为零。
WLanTagHeader
NDIS_NET_BUFFER_LIST_8021Q_INFO中包含的联合中的成员。 本机 802.11 微型端口驱动程序使用 WLanTagHeader 访问 802.1Q 信息。 WLanTagHeader 是具有以下成员的位字段:
WLanTagHeader.UserPriority
指定用于在共享媒体 802 网络中建立数据包优先级的 802.1p 优先级信息。 此成员中的位指定 802.1p 优先级值。
WLanTagHeader.CanonicalFormatId
此成员应设置为零,这表示数据包中存在的所有 MAC 地址信息采用规范格式 (即最简单的形式) 。
WLanTagHeader.VlanId
标识数据包所属的 VLAN。 传出数据包使用 VLAN 标识符进行标记。
WLanTagHeader.WMMInfo
无线多媒体 (WMM) 整数值,该值与流量标识符 (TID) 字段相同,这些字段显示在用于传送和控制 802.1Q 服务质量 (QoS) 数据的传送。 值 0 到 7 表示 MAC 服务数据单位的 QoS 用户优先级 (MP) (MSDU) 。 保留值 8 到 15。 因此, WMMInfo 中的最高位必须为零。
WLanTagHeader.Reserved
此成员为保留成员,应设置为零。
Value
NDIS_NET_BUFFER_LIST_8021Q_INFO中包含的联合中的成员。 值包含与 NET_BUFFER_LIST 结构中的 NetBufferListInfo 成员的类型兼容的指针值。
注解
若要检索或插入与 NET_BUFFER_LIST 结构关联的 802.1Q 信息,NDIS 驱动程序调用 NET_BUFFER_LIST_INFO 宏并指定 Ieee8021QNetBufferListInfo 信息类型。
NET_BUFFER_LIST_INFO 宏返回在 NDIS_NET_BUFFER_LIST_8021Q_INFO 结构的 Value 成员中指定的指针。 NDIS 驱动程序可以使用 联合的 TagHeader 或 WLanTagHeader 成员来访问特定类型的信息,例如 802.1p 优先级和 VLAN 标识符信息。 除了通过 TagHeader 成员提供的信息外,WLanTagHeader 成员还提供对无线多媒体 (WMM) 信息的访问权限。
在硬件中支持 802.1Q 标记的微型端口驱动程序必须使用NDIS_NET_BUFFER_LIST_8021Q_INFO结构进行传输和接收操作:
- 对于传输操作,微型端口驱动程序必须为NET_BUFFER_LIST结构中的NDIS_NET_BUFFER_LIST_8021Q_INFO OOB 数据检查。 微型端口驱动程序必须确保硬件根据NDIS_NET_BUFFER_LIST_8021Q_INFO规范创建 802.1Q 标记,并将其插入以太网帧。
- 对于接收操作,微型端口驱动程序必须从以太网帧中删除 802.1Q 标记,并将 802.1Q 标记信息映射到 NET_BUFFER_LIST 结构中的NDIS_NET_BUFFER_LIST_8021Q_INFO OOB 数据,然后才能使用 向 NDIS 指示数据 NdisMIndicateReceiveNetBufferLists 函数。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 在 NDIS 6.0 及更高版本中受支持。 |
标头 | ndis/nbl8021q.h (包括 ndis.h) |