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 中的最高位必须为零。

注意 不支持 TSPEC (流量规范) 和流量分类 (TCLAS) 。
 

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 驱动程序可以使用 联合的 TagHeaderWLanTagHeader 成员来访问特定类型的信息,例如 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)

另请参阅

NET_BUFFER_LIST

NET_BUFFER_LIST_INFO

NdisMIndicateReceiveNetBufferLists